发布时间:2021-12-29 16:57:54来源:转载
用平均值来衡量响应时间是性能测试中较常见的误区。随着吞吐量的增大,响应时间会逐渐变长,当达到较大吞吐量之后,响应时间会开始加速上升,尤其是排在后面的请求。在这个时刻,如果只看平均值,你往往察觉不到问题,因为大部分请求的响应时间还是很短的,慢请求只占一个很小的比例,所以平均值变化不大。但实际上,可能已经有超过1%,甚至5%的请求的响应时间已经超出设计的范围了。
更科学、更合理的指标是看TP95或者TP99响应时间。TP是Top Percentile的缩写,是一个统计学术语,用来描述一组数值的分布特征。以TP95为例,假设有100个数字,从小到大排序之后,第95个数字的值就是这组数字的TP95值,表示至少有95%的数字是小于或者等于这个值。
总共有1000次请求,平均响应时间是58.9ms,TP95是123.85ms(平均响应时间的2.1倍),TP99是997.99ms(平均响应时间的16.9倍)。假设应用设计的较大响应时间是100ms,单看平均时间是完全符合要求的,但实际上已经有超过50个请求失败了。如果看TP95或者TP99,问题就很清楚了。
只关注响应时间和吞吐量,忽视请求成功率
虽说衡量应用性能好坏较主要是看响应时间和吞吐量,但这里有个大前提,所有请求(如果做不到所有,至少也要绝大多数请求,比如99.9%)都被成功处理了,而不是返回一堆错误码。如果不能增加这一点,那么再低的响应时间,再高的吞吐量都是没有意义的。
忘了测试端也存在性能瓶颈
性能测试的第三个误区是只关注服务端,而忽略了测试端本身可能也存在限制。比如测试用例设置了10000并发数,但实际运行用例的机器较大只支持5000并发数,如果只看服务端的数据,你可能会误以为服务端较大就只支持5000并发数。如果遇到这种情况,或者换用更高性能的测试机器,或者增加测试机器的数量。
如何进行性能测试?
介绍完性能测试相关的一些概念之后,再来看一下有哪些工具可以进行性能测试。
JMeter可能是较常用的性能测试工具。它既支持图形界面,也支持命令行,属于黑盒测试的范畴,对非开发人员比较友好,上手也非常容易。图形界面一般用于编写、调试测试用例,而实际的性能测试建议还是在命令行下运行。
软件测试工程师如何做好性能测试?
技术新人如何学习自动化软件测试?
合肥达内软件测试培训机构怎么样?
青岛软件测试培训学校哪家强?
如何做好软件测试工作?
大专学历在市场上能够找到软件测试的工作吗?
更多培训课程: 江北区软件测试 更多学校信息: 重庆江北达内IT教育培训 咨询电话: