在Python中加速geventhttpclient的HTTPSocketPoolResponse和gevent的sock功能

时间:2014-09-25 01:10:45

标签: uwsgi gevent

我想知道是否有人在他们的网络应用中探索/部署了geventhttpclient库,如果有的话,对于如何进一步提高HTTPSocketPoolResponse类和/或gevent.sock.sendall的速度有任何想法( )功能。它目前是我的应用程序中最重要的瓶颈,它来自远程服务器的GET请求响应时间之外。

旁注:geventhttpclient比python的标准“请求”快得多。库(大约1/3的时间请求用于我的特定用例(GET请求)。尽管速度提升,但对我的用例来说仍然有点太慢。

sock.pool需要大约0.07秒 对于对Web API的特定请求,HTTPSocketPoolResponse在本地开销(总计0.150-0.250s,包括远程机器的响应)中大约需要0.30-0.50秒。

我的网络应用程序在uwsgi + nginx上运行,并在每次请求期间运行以下内容:

url = URL(req_url)
http = HTTPClient(url.host)
response = http.get(url.request_uri)

我在考虑将HTTPClient移到主应用程序函数之外并在开始时实例化它,但它无法正常工作。

有关如何加速此代码(套接字黑客等)的任何指示都会有所帮助!

0 个答案:

没有答案