1.勾选 keep-alive 的话,每个线程只建立一个连接,超时时间到之后,才会建立新的连接(正常有多少个并发,就有多少个连接),如果后端服务通过 nginx 代理,检查下 nginx 是否开启了 keepalive,以及超时时间配置。
2.按照你的问题描述,在勾选 keep-alive 的时候,根据你的并发量,tcp 连接数达不到 6W+,尽管你的端口配置参数是 6W,但如果通过 nginx 的话,还有文件描述符的问题(默认 1024)
3.你的吞吐量差异原因,不在于插件,就在于是否勾选了 keep-alive
你的接口平均响应时间本身就很短,勾不勾 keepalive 当然差别会很大,不勾选意味着每一个请求都要重新建立连接(从你的测试结果看完成三次握手的时间,已经相当于一次请求服务响应时间)。另外,端口不够用,尝试修改服务器的的内核参数
如果 cpu 利用率不高,不需要分析上下文切换吧?我感觉分析方向不太对,cpu,内存,io 都不高,是不是应该检查下 tcp 连接数是不是打满了?打满的话,后面的应该会出现分析中的超时
资源没有出现瓶颈的情况下,会出现增加线程 tps 不增加的场景?服务不限流的话,应该不会吧