性能指标概述

如何测量性能呢?虽然我们之前提到说,性能是终端用户的感知,但是我们依然需要一些KPI(指标)来进行衡量。
我们将KPI主要分为服务导向和效率导向两大类:
服务导向分为可用性和响应时间:
可用性:程序对于用户的可使用时间,可使用是指程序不会不响应或者超过可接受的响应时间。较低的可用性对于用户而言是致命的,因为即便是短时间的不可用,也可能会造成绝大的损失。 比如阿里云提供的我们最常用的ECS服务,可用性99.95%,我们按照1年365天计算,一年出现失误的时间为:365*24**0.0005=4.38小时,也就是一年内,他们的ECS在4.38小时是不可用的,即无法访问或者响应时间超出他们对客户的承诺。
响应时间:这个最为直观,就是用户从发出请求到获取到获取到请求数据的时间。虽然最容易理解,在真实中却不容易测试,因为要考虑的因素很多,如:服务器的带宽、客户端和服务器的通讯方式和距离、客户端的效率等等。
效率导向分为吞吐量和使用率:
吞吐量:某个事件发生的频率,例如网站的特定时间的点击量。实际测量中需要考虑的内容也较多,拿一个APP来说,考虑吞吐量的时候,起码要考虑:在线用户数、访问某个功能的用户数、瞬时并发、特定时间并发等。
使用率:被服务所使用的资源的使用率,如服务器网络带宽的占比、100个在线用户时内存的使用率。一般至少包括:CPU、内存、带宽、磁盘I/O、磁盘使用率。

通过这些KPI我们来衡量性能的情况。

性能分析的综合性很强,单独测算某个KPI是较为简单的,但是意义缺不大,做好性能分析需要将众多KPI指标按照时间轴或者事件轴放到一起进行分析,时间或事件轴很重要。如果你的性能报告中的KPI是分开的,负责人肯定会崩溃掉,因为根本无法支撑你的分析结果。我就碰到过一次,手下的一个测试负责人(在IBM很多年工作经验)给我的性能报告,竟然没有将并发用户数和服务器和DB的CPU、内存和带宽关联到一起,我看后就崩溃了,将其叫来问并发50人和100人的时候,各资源状态是如何,单独提给我CPU使用率、内存使用率有什么用,直接打回去让重新分析。

性能指标一般都是监控软件进行监测的,检测项的多少取决于工具,windows服务器提供了数以百计的检测项. UNIX/LINUX提供了 top vmstat iostat SAR等监测工具. 现在流行的云服务器如阿里云 亚马逊的AWS都提供了一系列丰富的监控项, 可以满足一般的需求.

例如:
CPU使用率
处理器队列长度
每秒的上下文切换
内存使用率
每秒内存分页错误
每秒的内存缓存错误
每秒内存页面读取
磁盘空间
磁盘的请求数
数据包的丢包率和错误率

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值