Tornado异步REST API服务器无法承载超10请求/秒流量的问题求助
Tornado异步REST API服务器无法承载超10请求/秒流量的问题求助
各位大佬好,我现在碰到了Tornado异步API服务器的性能瓶颈问题,想请教下解决方案:
我目前维护着一个基于Tornado的异步REST API服务器,所有处理器方法都是异步实现的。
当前核心配置如下:
- 调用第三方API时,我使用
tornado.httpclient.AsyncHTTPClient,并设置了最大客户端数为100,配置代码:AsyncHTTPClient.configure(None, max_clients=100) - 数据库操作采用SQLAlchemy的AsyncSession,我写了一个异步上下文管理器来统一管理会话、提交逻辑和其他处理,代码如下:
@asynccontextmanager async def session_scope(): async with async_session() as session: yield session await session.commit()
遇到的问题
当服务器流量攀升到8-10请求/秒以上时,通过New Relic监控发现Python端的耗时显著增加,并且开始出现502错误。具体现象是Python会卡住等待现有请求完成,不再接收新的请求。
注:这种情况通常发生在那些包含……的API调用量增加时(原文此处内容未写完)
备注:内容来源于stack exchange,提问作者Jay Kothari
相关产品推荐
相关产品推荐

