web 性能测试中的几个关键指标(并发用户数,QPS,用户平均请求等待时间)
程序员文章站
2022-06-02 15:16:36
关于并发用户数和QPS,自己一直被这两个概念纠结,阅读了一下相关资料,总结如下... 13-05-24...
并发用户数和qps两个概念没有直接关系,但是如果要说qps时,一定需要指明是多少并发用户数下的qps,否则豪无意义,因为单用户数的40qps和20并发用户数下的40qps是两个不同的概念。前者说明该应用可以在一秒内串行执行40个请求,而后者说明在并发20个请求的情况下,一秒内该应用能处理40个请求,当qps相同时,越大的并发用户数,代表了网站并发处理能力越好。对于当前的web服务器,其处理单个用户的请求肯定戳戳有余,这个时候会存在资源浪费的情况(一方面该服务器可能有多个cpu,但是只处理单个进程,另一方面,在处理一个进程中,有些阶段可能是io阶段,这个时候会造成cpu等待,但是有没有其他请求进程可以被处理)。而当并发数设置的过大时,每秒钟都会有很多请求需要处理,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处理的请求数反而变少,同时用户的请求等待时间也会变大,甚至超过用户的心理底线。
所以在最小并发数和最大并发数之间,一定有一个最合适的并发数值,在并发数下,qps能够达到最大。
但是,这个并发并非是一个最佳的并发,因为当qps到达最大时的并发,可能已经造成用户的等待时间变得超过了其最优值,所以对于一个系统,其最佳的并发数,一定需要结合qps,用户的等待时间来综合确定。
图1 并发用户数,qps,用户平均等待时间(响应时间关系图)
上面这张图是应用其他人的关于并发用户数,qps,用户平均等待时间的一张关系图,对于实际的系统,也应该是对于不同的并发数,进行多次测试,获取到这些数值后,画出这样一张图出来,以便于分析出系统的最佳并发用户数。
下一篇: 电商破局,多用户商城系统选择