转换思维:性能测试不再是找bug,而在找性能指标。
性能测试一定要用工具,因为要模拟多用户操作。
性能测试:通过工具,找出或获得系统不同工况下的性能指标。
负载测试(“看看你有几斤几两”):逐步增加系统负载,测试系统性能变化,并最终确定系统所能承受的最大负载量。超出最大负载量,就容易出现异常:比如相应时间超长、报错、宕机等。
负载测试如何寻找"拐点"?使用哪种方法进行测试? - 知乎 (zhihu.com)
压力测试(“鸭梨好大嗷”):在较大的性能压力下,持续运行一个比较长的时间,看系统服务以及各资源利用情况。(较大压力就是负载测试中找出来的最大负载量之下;较长时间一般是7*24小时或者24小时的倍数)
可靠性测试:在给定的一定的业务压力下,持续运行一段时间,查看系统是否稳定。例如:秒杀,1000个用户1秒钟的性能指标,这种是性能测试,也是可靠性测试
容量测试:在一定的软、硬件条件下,在数据库不同数量级数据量的情况下,对系统中读/写比较多的业务进行测试,从而获得不同数据量级下的性能指标。
性能测试主要指标:
并发
- 侠义:同一时间点执行相同的操作(如秒杀)
- 广义:同一时间点,向服务器发起的请求
并发用户数(重要指标):某一时间同时向软件系统提交请求的用户数,场景不一定事同一个
- 系统用户数:软件系统注册的用户总数
- 在线用户数:某段视角内访问的用户数,这些用户只是在线,不一定同时做某一件事,有可能只是挂机
- 线程数:jmeter中,并发用户数可以理解为线程数
事务(Transaction):指一个客户机向服务器发送请求然后服务器做出反应的过程。jmeter中默认一个接口请求就是一个事务,也支持多个接口整体作为一个事务,例如下单业务,需要登陆->获取商品->下单->支付->获取支付结果等,需要调用多个接口,这种多个接口合并到一个事务中,实际就是一个业务的性能。
相应时间(RT)(重要指标):从发起请求到收到请求响应的时间。发送请求网络传输时间+服务器处理时间+返回响应网络传输时间
TPS\QPS(最主要指标):
- TPS(Transactions per Second ):服务器每秒处理事务数,衡量服务器处理能力的最主要指标
- QPS(Queries per Second):每秒查询率
- 差异:一个Transactions 可能有多个Queries,如一个登陆,要查询用户存不存在、用户的密码是否正确等
吞吐量(Throughput):单位时间内处理的请求数量(事务/s)。衡量网络的,如果网络没有任何的瓶颈,那吞吐量和TPS数值上保持一致
吞吐率:单位时间通过的数据的平均速率(kB/s)
点击率(Hit per Second):每秒点击数。jmeter比较少,一般LoadRunner有这个指标。
资源利用率:指服务器资料的使用程度,比如服务器(应用及数据库)的CPU利用率、内存利用率、磁盘利用率、网络带宽利用率等,一般都不要超过80%。
性能测试结果分析思路:服务器硬件瓶颈>网络瓶颈>服务器os瓶颈(参数配置、数据库、web服务器)>应用瓶颈(sql语句、数据库设计、业务逻辑、算法)
标签:请求,性能,指标,测试,服务器,用户数 From: https://www.cnblogs.com/liyingyby/p/17923436.html