pgbouncer出现cl_waiting时长过长及间歇性超时问题求助
问题:pgBouncer高并发场景下cl_waiting过长及间歇性超时故障排查
现象
部署在数据仓库前端的pgBouncer服务长期运行稳定,负责处理其他服务的高并发API请求,近日突然出现cl_waiting时长过长及间歇性超时问题,暂未发现环境有已知变更。
已完成排查动作
- 大部分请求指向数据库某一特定端点,经PostgreSQL内部统计数据、直接连接数据库的基准测试验证,该端点性能正常;
- 业务低峰期通过pgBouncer进行相同基准测试时,性能表现极佳(线程、客户端、查询、网络等条件与高峰测试基本一致);
- 关键异常表现:当基准测试运行时若正常业务请求恢复,不仅正常请求会堆积,基准测试也会出现阻塞。
怀疑方向与待解信息
目前怀疑问题与psycopg2连接的特定特性有关——这是基准测试与正常请求的唯一差异点,但暂未明确下一步排查方向。
开启verbose日志后,仅发现一条疑似相关日志:safe_accept(9) = Resource temporarily unavailable,暂未明确该日志含义。
相关配置细节
pgBouncer(v1.17.0,运行于Ubuntu系统)
pool_mode = transactionmax_client_conn=2000max_db_connections=7
主要客户端:psycopg2
isolation_level = AUTOCOMMITmax_overflow = -1
内容的提问来源于stack exchange,提问作者Alexi Theodore
相关产品推荐
相关产品推荐

