摘 要:
本文对软件性能测试中最常使用并且大家耳熟能详的的几个基本术语从不同的维度与视角进行了深入解读,力求使读者能够对性能测试的这些基本术语有一个深入的理解和深层次的思考。
关键字:
软件性能衡量、并发用户数、响应时间、吞吐率
正文:
谈及软件的性能,最普遍的理解就是对软件处理的及时性要求,对于不同类型的系统,性能的关注点各不相同。对于典型的WEB交互式应用,一般以终端用户感受到的端到端的响应时间来描述系统的性能,而对于非交互式应用,比如典型的电信和银行后台处理系统,响应时间更多关注的可能是软件对系统事件(Event)处理并产生响应时间以及单位时间的事件吞吐量。但是,最终对于系统性能指标的描述大多还是采用响应时间、吞吐量、并发用户数和可扩展性等,这些都是性能测试用最常使用的基本术语。本文拟以这些基本术语为切入点,深入讨论这些指标所代表的本质含义,并从不同的维度和视角对其进行解读。首先从软件性能的不同视角来展开讨论。
衡量软件性能的不同视角
不同的对象群体对软件性能的关注点和要求不是完全相同的,有时甚至是对立的。以下首先从4个不同的视角来探讨软件的性能:终端用户、系统管理员、软件设计开发人员和性能测试人员。
……………………
从软件系统运维的角度,也就是系统管理员来讲,所关注的软件性能不仅仅是单个用户的响应时间了,更多的是关注大量用户并发访问时的负载以及可能的更大负载情况下的系统健康状态、并发处理能力、当前部署的系统容量、可能的系统瓶颈、系统配置层面的调优、数据库的调优,长时间运行稳定性和可扩展性。虽然系统运维方在大多数时候是和终端用户站在一条战线上的,希望提供尽可能快速的系统响应速度,但是某些时候确实对立的,最常见的就是系统运维方必须在最大并发用户数和系统响应时间之间做出必要的权衡。比如当提供10K并发访问的时候用户登陆时间是5秒,而当提供20K并发访问的时候用户登陆时间是10秒或更长。目前有些系统在处理极大并发用户的时候采用了排队机制以尽可能提高系统容量而增大用户感受到的响应时间。典型的例子就是火车票购票网站;