【并发】并发查询相同sql,性能严重下降

使用同一sql进行并发压力测试,看执行时间。
非并发情况下,执行时间500ms左右。
100并发情况下,执行时间P99可达15s左右,
profile中的Collect Profile Time: 13s538ms,这个指标是什么意思?耗时占比很高。

还请大佬帮忙分析一下原因,拜谢~

【是否存算分离】否
【StarRocks版本】3.1
【集群规模】例如:3fe(1master +2 follower)+80be(独立部署)
【附件】

show variables like ‘%parallel_fragment_exec_instance_num%’;
parallel_fragment_exec_instance_num=1

show variables like ‘%pipeline%’;
enable_pipeline_engine = true
enable_pipeline_query_statistic = true
max_pipeline_dop = 64
pipeline_dop = 0
pipeline_profile_level = 1
pipeline_sink_dop = 0

  • be节点cpu和内存使用率最大值都不超过30%

压测的时候不开profile 跑多久

我的问题排查出来了,fe负载均衡问题,导致所有请求都达到FE单节点,单节点并发过高会有压力,导致请求时间跟并发数成线性增长。

这个对比目前测不出来了,扩容了FE,关闭了profile,确实能提高性能

压测的时候可以把set global pipeline_dop=8或者4/2/1试试,这个高版本做了自适应,压测的话可能需要调整下