我们正在将python tornado服务器用于新项目。 服务器应该像node.js服务器一样工作,接受数千个连接并保持它们长时间打开,直到响应准备就绪。
响应是对外部资源的多个http访问的结果,因此我们当然需要同时支持许多http客户端连接同时打开(至少几百个)。
我们尝试像这样配置AsyncHTTPClient:
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.httpclient.AsyncHTTPClient.configure("tornado.simple_httpclient.SimpleAsyncHTTPClient", max_clients=1000, defaults=dict(connect_timeout=float(10), request_timeout=float(100)))
tornado.ioloop.IOLoop.current().start()
似乎我们的服务器工作正常,但我们遇到了httpclient的问题 - 它似乎没有扩展到十几个连接,应用程序只是挂起,直到它收到很多超时错误(错误599)。
答案 0 :(得分:0)
客户端不能被十几个连接锁定。这更像是你做任何锁定操作。如果锁定发生在最终使用httpclient的那一刻,那么问题就在于它的使用。
你能说明你如何使用httpclient吗?