使用龙卷风的AsyncHTTPClient v.s之间有明显的区别。将阻塞的http调用包装在run_in_executor()中?

时间:2019-07-25 21:00:07

标签: tornado asyncio

我正在尝试在s3fs应用程序中使用库tornado。最简单的方法是制作一个小的函数(使用s3fs从s3中获取一些数据并将其包装在run_in_executor()中。

编写一个自定义库以使用龙卷风的AsyncHTTPClient来从s3提取是否有好处?

(注意:我知道botoaio等。对于我的特定用例,我要求输出格式为s3fs提供的格式。)

1 个答案:

答案 0 :(得分:1)

与使用run_in_executor运行同步库相比,

AsyncHTTPClient效率更高 。区别主要是高并发级别的线程堆栈所需的内存。只要您有足够的线程和内存来满足并发级别,性能通常就会相似。因此,除非您并行执行许多s3操作,否则没有理由花费大量工作来将所有内容转换为异步接口。