次のコードは、パラメーターの値に従って、リクエストからパラメーターを取得し、couchbase db から応答します。
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 マシンへの呼び出しを行う場合、1 秒あたり 350 回の呼び出ししかできません。
確かにここでのボトルネックはトルネードです。少なくとも毎秒 7,000 の呼び出しを行えるように最適化するにはどうすればよいですか?