性能问答>clickhouse 程序 tcp recv-q 堆积. 求助各位兄弟>
6回复

clickhouse 程序 tcp recv-q 堆积. 求助各位兄弟



clickhouse程序。现象是tcp recv-q堆积很大。通过curl,要不然很久能返回大概10多秒,要不然就直接返回reset,抓包看发现3次握手后,服务端响应win=0,len=0.
image.png

image.png
listen_backlog设置128.
cpu空闲.
磁盘正常.
网络可能因为大量reset,流量也很小.

sudo strace -f -o output.txt -T -tt -e trace=all -p pid

image.png

sudo perf trace -p pid

image.png

gdb -P pid

image.png

 ltrace -f -o ltrace.txt -S -T -tt  -p pid

执行ltrace docker容器直接重启了

2847 阅读
请先登录,再评论

backgrprocpool 这个线程 futex等待信号量等资源时耗时太久了,导致整个程序线程被耗尽,能查找到futex 当时的调用栈就好了,看看在等待什么资源

1年前
回复 nomads_410786:

你改成debug级别 看看能不能找到 backgrprocpool这个线程为啥等待这么久,clickhouse不是很熟,感觉是不是文件系统有些资源不够.

1年前回复
回复 小子z:

是的

1年前回复
回复 小子z:

BackgrProcPool 这个线程好像做后台IO merge的

1年前回复

目前已有的信息不够,能看下环境最好, 从抓包上看是服务端收到请求后直接给客户端发送了RST报文,感觉是clickhouse listen 队列128 已经用完了,第一张图片并没有截 到listen 对列的长度 ,clickhouse 出现这种情况肯定有点错误日志输出吧. ? 一点日志信息没有?

1年前
回复 小子z:

大佬 还需要什么信息。 我发上来。 listen队列的长度是128。 目前没看待错误日志。 将日志级别改为debug。需要一段时间才能复现

1年前回复