性能测试的指标主要包括以下几个方面:
一、响应时间
响应时间(Response Time,简称RT),是指系统对请求做出响应的时间。可以理解为是完整记录整个计算机系统处理请求的时间,处理逻辑不同响应时间也不同。所以,在讨论一个系统的响应时间时,一般指该系统所有功能的平均时间或所有功能的最大响应时间。响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。对于一个游戏软件来说,响应时间小于100毫秒应该是不错的,响应时间在1秒左右可能属于勉强可以接受,如果响应时间达到3秒就完全难以接受了。
二、吞吐量
吞吐量(Throughput),是指系统在单位时间内处理请求的数量。吞吐量与响应时间成反比关系,通常以每秒请求数(SPS或TPS)或每秒查询数(QPS)表示。对于一个多用户的系统,如果只有一个用户使用时系统的平均响应时间是t,当有你n个用户使用时,每个用户看到的响应时间通常并不是n*t,而往往比n*t小很多(当然,在某些特殊情况下也可能比n×t大,甚至大很多)。
三、并发数
并发数(Concurrency),指的是某一时刻同时向服务器发送请求的用户数。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。一网站系统为例,假设用户只有注册后才能使用,但注册用户并不是每时每刻都在使用该网站,因此具体一个时刻只有部分注册用户同时在线,在线用户就在浏览网站时会花很多时间阅读网站上的信息,因而具体一个时刻只有部分在线用户同时向系统发出请求。这样,对于网站系统我们会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。由于注册用户可能长时间不登陆网站,使用注册用户数作为性能指标会造成很大的误差。而在线用户数和同事发请求用户数都可以作为性能指标。相比而言,以在线用户作为性能指标更直观些,而以同时发请求用户数作为性能指标更准确些。
四、错误率
错误率(Error Rate),指系统在负载情况下,失败业务的概率。这个指标可以帮助我们了解系统的稳定性和可靠性。
五、资源利用率
资源利用率(Resource Utilization),包括CPU利用率、内存使用率、磁盘I/O和网络I/O等。这些指标反映了系统对资源的利用程度,有助于我们了解系统的资源瓶颈和优化方向。
综上所述,性能测试指标涵盖了响应时间、并发数、吞吐量、错误率和资源利用率等方面,通过设计不同的测试场景和关注不同的指标,可以全面评估系统的性能表现并发现潜在问题。