gpt4 book ai didi

websocket - 如何优化Tornado?

转载 作者:行者123 更新时间:2023-12-02 20:08:18 24 4
gpt4 key购买 nike

以下代码从请求中获取参数,并根据参数的值从 couchbase 数据库中进行响应。

couchbase = Couchbase("ubuntumartini03:8091", "thebucket", "")
bucket = couchbase["thebucket"]

class MH(tornado.web.RequestHandler):
def get(self):
key = self.get_argument("pub_id", strip=True)
result = json.loads(bucket.get(key)[2])
self.write(result['metaTag'])


if __name__=="__main__":
app = tornado.web.Application(handlers=[(r"/", MH)])
app.listen(8888,"")
tornado.ioloop.IOLoop.instance().start()

问题:对于给定的硬件,我们可以从 Tornado 机器对 Couchbase 进行 10k/秒的调用。但是当我们从客户端向 Tornado 机器发出调用时,我们每秒只能发出 350 次调用。

这里的瓶颈肯定是 Tornado 。如何优化它以每秒至少进行 7k 次调用?

最佳答案

像这样编辑你的代码:

from tornado.ioloop import IOLoop


couchbase = Couchbase("ubuntumartini03:8091", "thebucket", "")
bucket = couchbase["thebucket"]

class MH(tornado.web.RequestHandler):
async def get(self):
key = self.get_argument("pub_id", strip=True)
result = await IOLoop.current().run_in_executor(None,bucket.get,*(key))
self.write(result[2]['metaTag'])


if __name__=="__main__":
app = tornado.web.Application(handlers=[(r"/", MH)])
app.listen(8888,"")
tornado.ioloop.IOLoop.instance().start()

关于websocket - 如何优化Tornado?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com