python tornado.httpclient.AsyncHTTPClient max_clients似乎不起作用

时间:2016-03-21 14:13:31

标签: python tornado

我们正在将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)。

  1. 任何想法龙卷风async http客户端是否有错误或我们是否以错误的方式使用它?
  2. 关于替代技术的任何想法? (蟒?)

1 个答案:

答案 0 :(得分:0)

客户端不能被十几个连接锁定。这更像是你做任何锁定操作。如果锁定发生在最终使用httpclient的那一刻,那么问题就在于它的使用。

你能说明你如何使用httpclient吗?