性能测试相关术语
性能测试常用术语:
响应时间:指应用系统从发出请求开始到客户端接收到所有数据所消耗的时间。
并发用户数:指同一时刻与服务器进行数据交互的所有用户数量。
吞吐量:指单元时间内服务器处理的字节数。吞吐量的大小直接体现服务器的承载能力。
吞吐率(throughout):指单位时间内从服务器返回的字节数,吞吐率的值越大系统的负载能力越强。
TPS(transaction per second)表示服务器每秒处理的事务数,它是衡量系统处理能力的重要指标。
点击率(hit per second)指每秒钟用户向服务器提交的HTTP数量;对于web系统来说,点击率是服务器处理的最小单位,点击率的值越大,说明服务端所需要承受的压力越大。
客户端提交的请求服务器不一定全部处理,有可能出现服务器拒绝客户端请求的情况,所以点击率不能直接反映服务器处理请求的能力。
资源利用率:是指服务器系统中不同硬件资源被使用的程度,资源利用率=资源实际使用/总的可用资源量。主要包括CPU利用率,内存利用率,磁盘利用率,网络等。资源利用率是分析系统性能指标进而改善性能的主要依据,在配置调优测试的过程中,通过比较配置调优前后系统资源的利用率来判断调优的结果;
性能计数器:是描述服务器或操作系统性能的一些数据指标。主要通过添加计数器来观察系统资源的使用情况。性能计数器包括操作系统性能计数器、数据库计数器、应用服务器计数器等。
思考时间:指用户在进行操作时,每个请求的时间间隔。具体的思考时间如何设置与当前采用的性能测试策略有关,如果是负载测试则可以直接忽略思考时间,如果是压力或可靠性测试则可以根据实际情况设置一个思考时间。一般思考时间设置为3~5s。
性能测试划分:
负载测试(load testing):是通过对被测试系统不断地加压,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。
压力测试(stress testing):指系统已经达到一定的饱和程度(如CPU,磁盘等已经处理饱和状态),此时系统处理业务的能力,系统是否会出现错误。疲劳测试时压力测试的一种表现形式。
配置测试(configuration testing):通过调整系统的软硬件环境,了解各种不同环境对系统性能的影响,从而找到系统的最优配置。
并发测试(concurrency testing):通过模拟用户并发访问,测试多用户同时访问同一应用模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。
可靠性测试(reliability testing):当系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性,此处强调在一定业务压力下持续运行的能力,可靠性测试必须给出一个明确的要求,如系统能够持续无故障运行多少天。
基准测试:在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或多种业务,将测试结果作为基准数据,在系统调优或者系统评测过程中,通过运行相同的业务场景并比较测试结果确定调优是否达到效果或者为系统的选择提供决策数据。
性能测试应用领域
能力验证:一般能力验证采用这样的描述方式:“某系统能否在条件A下具备B性能”。重点在于验证系统是否具备某种能力。
规划能力:能力验证强调的是在某个条件下具备什么样的能力,而规划能力体现系统如何才能达到要求的性能指标。规划能力问题常常会这样描述:“系统如何才能支持未来用户增长的需要”,这里强调的是未来能力增长的一个需求,着眼于未来系统的规划。
性能调优:通过测试来调整系统的环境,最终使系统性能达到最优的状态。这是一个持续调优的过程,主要调优的对象有数据参数、应用服务器、系统的硬件资源等。
缺陷发现:性能测试应用领域的主要目标是通过性能测试的手段来发现系统存在的缺陷。