如图!
并发线程 2000,tps 吞吐量只有 300,说明线程处理一定在排队。
排队原因很多:可能是资源限制 (线程排队过多,导致上下文切换较多),可能是连接数限制等等
响应时间越来越长的原因:
第一秒,处理了 300,排队 1700,响应时间 = 处理时间 1 秒;
第二秒,处理了 300,排队 1700-300+300,响应时间=处理时间 1 秒 + 等待时间 1 秒 = 2 秒;
以此类推。。。。
排队
跟排队一个道理,处理速度恒定,但是刚开始堆积了很多人,刚开始去的那批人,等待时间会越来越长,但是到后面时间会趋于稳定 2000/300 约为 6.6 秒;
首先明确的是线程是压力生成器,实际上是客户端,TPS 是指服务器每秒处理能力。
分情况来看:
某些资源存在泄漏,一般为内存,文件句柄 或数据库连接
1-3 楼都偏题了.....人家问的是线程 tps 恒定....响应时间随时间增长
挖个坟 @Lihuazhang 大佬五年后看到这题的答案有没有什么变化