为何升级至Python 3.11后GAE标准环境性能下降?
App Engine Python版本升级后的性能问题
升级前后环境对比
旧应用(Python 2.7,GAE标准环境第一代)
使用的服务/框架:
- Shared Memcache
- Task Queue
- Google Discovery库(用于BigQuery)
- webapp2框架
新应用(Python 3.11,GAE标准环境第二代)
使用的服务/框架:
- Flask(因webapp2不兼容Python 3已移除)
- 遵循官方指南使用旧版捆绑服务
应用核心逻辑
读取请求并存储至BigQuery,利用Memcache实现限流,通过Task Queue调用应用内的「存储至BigQuery」端点。
升级后出现的问题
- 延迟大幅升高:从约50ms增至约250ms
- 实例数量激增:相同负载下从6个增至30个
- 实例错误数上升
注:当前实例仅承载原负载的20%,性能却不如旧实例承载100%负载时的表现
排查尝试
尝试运行Google性能分析器,但无法在平台上安装对应依赖包。
疑问1
此类升级后出现的性能下降是否属于正常现象?
2023年5月更新:延迟原因排查发现
通过Trace列表分析发现,第二代GAE环境(Python 3.11)中请求需先经过HTTP负载均衡器再到达AppServer组件;而第一代环境(Python 2.7)中请求直接抵达AppServer组件,因此判断HTTP负载均衡器是延迟升高的主要原因。
疑问2
- 为什么第二代GAE环境需要引入HTTP负载均衡器?
- 是否需要额外部署Google外部HTTP负载均衡器?
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

