QPS和TPS的区别、负载和压力测试的区别
♣ \color{red}{\clubsuit} ♣
作为软件测试工程师,要分清楚QPS和TPS的区别。
QPS/TPS
QPS(Queries Per Second):每秒查询率,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
TPS(TransactionsPerSecond):每秒事务数。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
TPS即每秒处理事务数,包括以下三个过程:
- 用户请求服务器
- 服务器自己的内部处理
- 服务器返回给用户
每秒能够完成N个这些过程,TPS也就是N;
QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。
比如:访问一个页面会请求服务器3次,一次访问,产生一个“T”,产生3个“Q”
系统吞吐量
吞吐量指系统在单位时间内处理请求的数量
一个系统的吞吐量(承压能力)与request对CPU的消耗、外部接口、IO等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
- QPS(TPS):每秒钟request/事务数
- 并发数: 系统同时处理的request/事务数
- 响应时间:一般取平均响应时间
理解了上面三个要素的意义后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间
或者,并发数 = QPS*平均响应时间
负载测试和压力测试的区别
负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
压力测试(Stress Test): 压力测试(又叫强度测试)也是一种性能测试,它是指在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。
两者区别:
负载测试是在保持性能指标要求的前提下测试系统能够承受的最大负载,而压力测试则是使系统性能达到极限的状态。比如软件系统的正常响应时间是2s,负载测试确定访问量超过1万时响应时间变慢。压力测试则逐步增加用户访问量(2万、3万、4万……)观察系统的性能变化,若当用户增加到4万时,系统崩溃无法响应,由此确定系统能够承受的最大访问量为4万。
通俗理解
压力测试就是给服务器外部压力,比如长时间不让服务器休息,看看服务器是否会无法及时响应请求或者宕机;
负载测试就是在单位时间内逐步加大对服务器的工作量,看看此服务器在不同的工作量下完成服务的速度和质量,从而了解到该服务器的工作能力。
压力测试和负载测试能够帮助我们了解到一个服务器的抗压能力和工作能力,当然也能帮我们评估一个系统或软件的性能瓶颈与质量。
今天的文章QPS和TPS的区别、负载和压力测试的区别分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/28076.html