我使用aiohttp框架在Python3.5中构建了一个相当简单的API。在评估性能时,我发现发送响应数据似乎是瓶颈。当查看Chrome Developer tools中的Network选项卡时,对此api调用的平均等待时间(TTFB)可能大约是1秒。内容下载组件大约是4-5秒。压缩的内容在5-10 MB范围内。
api和客户端不在同一台服务器上,而是在同一个沙箱环境中。所以我不认为网络延迟是原因。我正在从apache下载20 am的.zip文件,几乎是瞬间.
下面是一个实用程序函数,它将任何类似json的对象压缩到客户端。有更好的方法吗?
def gzipped_json_response(obj):
obj_as_bytes = bytes(json.dumps(obj), 'utf-8')
out = gzip.compress(obj_as_bytes, compresslevel=5)
return aiohttp.web.Response(
body=out,
headers={
"Content-Encoding":"gzip"
}
)发布于 2017-04-27 17:54:08
https://stackoverflow.com/questions/43594060
复制相似问题