【性能测试】常见的性能测试指标
从性能测试分析度量的⾓度,性能指标的维度如下:
系统性能指标
资源性能指标
中间件指标
数据库指标
稳定性指标
可扩展性指标
可靠性指标
接下来从各⾃维度常见指标及指标含义看看各个性能测试指标
⼀、系统性能指标
系统性能指标,常见的有如下⼏类:
响应时间
系统处理能⼒
吞吐量
并发⽤户数
错误率
1.1 响应时间
响应时间,简称RT
指系统对请求作出响应的时间,可以理解为⽤户从客户端发起⼀个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程耗费的时间
直观上看,这个指标与⼈对软件性能的主观感受是⾮常⼀致的,因为它完整地记录了整个计算机系统处理请求的时间
响应时间的绝对值并不能直接反映软件的性能的⾼低,软件性能的⾼低实际上取决于⽤户对该响应时间的接受程度
1.2 系统处理能⼒
指系统在利⽤系统硬件平台和软件平台进⾏信息处理的能⼒
系统处理能⼒通过系统每秒钟能够处理的交易数量来评价,交易有两种理解:
业务⼈员⾓度的⼀笔业务过程
系统⾓度的⼀次交易申请和响应过程
前者称为业务交易过程,后者称为事务,两种交易指标都可以评价应⽤系统的处理能⼒
⼀般情况下,系统处理能⼒⽤以下⼏个指标来度量:
HPS(Hits Per Second):每秒点击次数,单位是次/秒
TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒
QPS(Query per Second):系统每秒处理查询次数,单位是次/秒
对于互联⽹业务中,如果某些业务有且仅有⼀个请求连接,那么TPS=QPS=HPS,⼀般情况下⽤TPS来衡量整个业务流程,⽤QPS来衡量接⼝查询次数,⽤HPS来表⽰对服务器点击请求
1.3 吞吐量
指系统在单位时间内处理请求的数量
对于单⽤户的系统,响应时间可以很好地度量系统的性能
对于并发系统,通常需要⽤吞吐量作为性能指标
⼀般⽽⾔,吞吐量是⼀个⽐较通⽤的指标,两个具有不同⽤户数和⽤户使⽤模式的系统,如果其最⼤吞吐量基本⼀致,则可以判断两个系统的处理能⼒基本⼀致
1.4 并发⽤户数
指在同⼀时刻内,登录系统并进⾏业务操作的⽤户数量
对于长连接系统来说最⼤并发⽤户数即是系统的并发接⼊能⼒
对于短连接系统⽽⾔最⼤并发⽤户数并不等于系统的并发接⼊能⼒
短连接系统的并发⽤户数与系统架构、系统处理能⼒等各种情况相关
与吞吐量相⽐,并发⽤户数是⼀个更直观但也更笼统的性能指标。实际上,并发⽤户数是⼀个⾮常不准确的指标,因为⽤户不同的使⽤模式会导致不同⽤户在单位时间发出不同数量的请求
1.5 错误率
错误率简称FR
指系统在负载情况下,失败交易的概率
mysql下载哪个盘⼆、资源性能指标
资源性能指标,常见的有如下⼏类:
CPU
内存
磁盘吐吞量
⽹络吐吞量
2.1 CPU
CPU⼜称为中央处理器,是⼀块超⼤规模的集成电路,是⼀台计算机的运算核⼼(Core)和控制核⼼(Control Unit),功能主要是解释计算机指令以及处理计算机软件中的数据
CPU指标主要指的CPU利⽤率,包括:
⽤户态(user)
系统态(sys)
等待态(wait)
空闲态(idle)
CPU的评估建议值:
CPU利⽤率要低于业界警戒值范围之内,即⼩于或者等于75%
CPU sys%⼩于或者等于30%
CPU wait%⼩于或者等于5%
2.2 内存
内存是与CPU进⾏沟通的桥梁
计算机中所有程序的运⾏都是在内存中进⾏的,因此内存的性能对计算机的影响⾮常⼤
现在的操作系统为了最⼤利⽤内存,在内存中存放了缓存,因此内存利⽤率100%并不代表内存有瓶颈
衡量系统内存是否有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利⽤率,⼀般情况下,SWAP交换空间利⽤率要低于70%,太多的交换将会引起系统性能低下
2.3 磁盘吐吞量
磁盘吞吐量简称为Disk Throughput,是指在⽆磁盘故障的情况下单位时间内通过磁盘的数据量
磁盘指标主要有:
每秒读写多少兆
磁盘繁忙率
磁盘队列数
平均服务时间
平均等待时间
空间利⽤率
其中磁盘繁忙率是直接反映磁盘是否有瓶颈的的重要依据,⼀般情况下,磁盘繁忙率要低于70%
2.4 ⽹络吐吞量
⽹络吞吐量简称为Network Throughput,是指在⽆⽹络故障的情况下单位时间内通过的⽹络的数据数量,单位为Byte/s
⽹络吞吐量指标⽤于衡量系统对于⽹络设备或链路传输能⼒的需求。当⽹络吞吐量指标接近⽹络设备或链路最⼤传输能⼒时,则需要考虑升级⽹络设备
⽹络吞吐量指标主要有每秒有多少兆流量进出,⼀般情况下不能超过设备或链路最⼤传输能⼒的70%
三、中间件指标
常⽤的中间件例如Tomcat、Weblogic等指标主要包括JVM、ThreadPool和JDBC,具体如下:
⼀级指标⼆级指标单位解释GC GC频率每秒多少次java虚拟机垃圾部分回收频率
GC Full GC频率每⼩时多少次java虚拟机垃圾完全回收频率
GC Full GC平均时长秒⽤于垃圾完全回收的平均时长
GC Full GC最⼤时长秒⽤于垃圾完全回收的最⼤时长
GC堆使⽤率百分⽐堆使⽤率ThreadPool Active Thread Count个活动的线程数
ThreadPool Pending User Request个处于排队的⽤户请求个数JDBC JDBC Active Connection个JDBC活动连接数
指标的参考标准:
当前正在运⾏的线程数不能超过设定的最⼤值
⼀般情况下系统性能较好的情况下,线程数最⼩值设置50和最⼤值设置200⽐较合适
当前运⾏的JDBC连接数不能超过设定的最⼤值
⼀般情况下系统性能较好的情况下,JDBC最⼩值设置50和最⼤值设置200⽐较合适
GC频率不能频繁,特别是FULL GC更不能频繁
⼀般情况下系统性能较好的情况下,JVM最⼩堆⼤⼩和最⼤堆⼤⼩分别设置1024M⽐较合适
四、数据库指标
常⽤的数据库例如MySQL指标主要包括:
SQL
吞吐量
缓存命中率
连接数
具体指标如下:
⼀级指标⼆级指标单位解释SQL耗时微秒执⾏SQL耗时
吞吐量QPS个每秒查询次数
吞吐量每秒查询次数个每秒事务次数
命中率Key Buffer命中率百分⽐索引缓冲区命中率命中率InnoDB Buffer命中率百分⽐InnoDB缓冲区命中率命中率Query Cache命中率百分⽐查询缓存命中率命中率Table Cache命中率百分⽐表缓存命中率数命中率Thread Cache命中率百分⽐线程缓存命中率
锁等待次数次锁等待次数
锁等待时间微秒锁等待时间
指标的参考标准:
SQL耗时越⼩越好,⼀般情况下微秒级别
命中率越⾼越好,⼀般情况下不能低于95%
锁等待次数越低越好,等待时间越短越好
五、稳定性指标
最短稳定时间
系统按照最⼤容量的80%或标准压⼒(系统的预期⽇常压⼒)情况下运⾏,能够稳定运⾏的最短时间
⼀般来说,对于正常⼯作⽇(8⼩时)运⾏的系统,⾄少应该能保证系统稳定运⾏8⼩时以上
对于7*24运⾏的系统,⾄少应该能够保证系统稳定运⾏24⼩时以上
如果系统不能稳定的运⾏,上线后,随着业务量的增长和长时间运⾏,将会出现性能下降甚⾄崩溃的风险
参考标准:
TPS曲线稳定,没有⼤幅度的波动
各项资源指标没有泄露或异常情况
六、可扩展性指标
指应⽤软件或操作系统以集⽅式部署,增加的硬件资源与增加的处理能⼒之间的关系
计算公式为:(增加性能/原始性能)/(增加资源/原始资源)*100%。
扩展能⼒应通过多轮测试获得扩展指标的变化趋势。⼀般扩展能⼒⾮常好的应⽤系统,扩展指标应是线性或接近线性的,现在很多⼤规模的分布式系统的扩展能⼒⾮常好
参考标准:
理想的扩展能⼒是资源增加⼏倍,性能就提升⼏倍。扩展能⼒⾄少在70%以上
七、可靠性指标
对于服务端性能测试,从系统可靠性指标度量分析时,常见如下:
双机热备
集
备份和恢复
7.1 双机热备
对于将双机热备作为可靠性保障⼿段的系统,可衡量的指标如下:
节点切换是否成功及其消耗时间
双机切换是否有业务中断
节点回切是否成功及其耗时
双机回切是否有业务中断
节点回切过程中的数据丢失量
在进⾏双机切换的同时,使⽤压⼒发⽣⼯具模拟实际业务发⽣情况,对应⽤保持⼀定的性能压⼒,保证测试结果符合⽣产实际情况
7.2 集
对于使⽤集⽅式的系统,主要通过以下⽅式考量其集可靠性:
集中某个节点出现故障时,系统是否有业务中断情况出现
在集中新增⼀个节点时,是否需要重启系统
当故障节点恢复后,加⼊集,是否需要重启系统
当故障节点恢复后,加⼊集,系统是否有业务中断情况出现
节点切换需要多长时间
在验证集可靠性的同时,需根据具体情况使⽤压⼒⼯具模拟实际业务发⽣相关情况,对应⽤保持⼀定的性能压⼒,确保测试结果符合⽣产实际情况
7.3 备份和恢复
验证系统的备份/恢复机制是否有效可靠,包括:
系统的备份和恢复
数据库的备份和恢复
应⽤的备份和恢复
备份和恢复的验证主要包括以下内容:
备份是否成功及其消耗时间
备份是否使⽤脚本⾃动化完成
恢复是否成功及其消耗时间
恢复是否使⽤脚本⾃动化完成
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论