pika icon indicating copy to clipboard operation
pika copied to clipboard

新建连接较多时,容易出现慢日志

Open chenbt-hz opened this issue 1 year ago • 4 comments

Is this a regression?

Yes

Description

问题现象:pika出现较多发生时刻接近的慢日志,例如Delete、Auth、Set等命令的执行记录。当新建连接较多时,会影响set、get、delete等请求执行情况,容易出现更多慢日志。

问题分析: 1.设备性能:

96核 加速卡 ,单实例QPS 5k setex ,cpu使用率 5%,内存使用约5%,理论上无压力

2.网络:

万兆网卡,流量很小,tcp连接数设置为最大,pika 配置client数2w、线程数8

3.磁盘性能:

磁盘读写await都低于0.01ms

日志与监控分析: 1.有的慢日志是因为前后在进行compaction 2.有的慢日志发生时,监控大盘无compact记录。但前1分钟的日志发现较多的连接close,后续又新增类似的conn。(经过确认为连接池释放空闲连接)

测试环境复现 模拟线网请求,此时设置并发连接1000个连接,出现了auth、set、get等命令的慢日志 关闭请求,设置并发连接1000个连接,没有出现auth等命令的慢日志

slowlog分析: 慢日志中大部分是queue_time。往往前面有一个process_time时间较长的慢日志后,后续会出现连续几条queue_time导致超时的日志。特别是新建连接较多时,慢日志比较多,既有set、get、delete等命令也可能会有auth。

Please provide a link to a minimal reproduction of the bug

No response

Screenshots or videos

No response

Please provide the version you discovered this bug in (check about page for version information)

版本: 基于https://github.com/OpenAtomFoundation/pika/tree/3.5 编译

Anything else?

No response

chenbt-hz avatar Jan 31 '24 05:01 chenbt-hz

这种情况是否正常? 如何改进这一问题?

chenbt-hz avatar Jan 31 '24 05:01 chenbt-hz

在模拟业务请求的同时,对比有无较多新建连接 perf record -F 99 -p 【pid】 -g -- sleep 60 image

chenbt-hz avatar Jan 31 '24 05:01 chenbt-hz

chenbaitao: Pika 3.5 当连接达到 500 以上时,就会出现这种慢日志连接。 baixin:当连接超过 1000 以上时,无论对于任何服务都会出现这种现象,处理方法就是预见连接池。阿里云以往也遇到过这种现象。

AlexStocks avatar Feb 02 '24 12:02 AlexStocks

baitao:由于优先级考量,工作推后

AlexStocks avatar Mar 01 '24 12:03 AlexStocks