并发用户数需求是整个用户性能需求的重要方面,通常是针对具体的服务器和应用系统,如域控制器、Web服务器、FTP服务器、E-mail服务器、数据库系统、MIS管理系统、ERP 系统等,并发用户数支持的多少决定了相应系统的可用性和可扩展性。所支持的并发用户数多少是通过一些专门的工具软件进行测试的,测试过程就是模拟大量用户同时向某系统发出访问请求,并进行一些具体操作,以此来为相应系统加压。但是不同的应用系统所用的测试工具不一样。
并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试Load Testing是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的***服务级别的测试。
并发性能测试的目的主要体现在3个方面:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能;当扩展应用程序的功能或者新的应用程序将要被部署时,负载测试会帮助确定系统是否还能够处理期望的用户负载,以预测系统的未来性能;通过模拟成百上千个用户,重复执行和运行测试,可以确认性能瓶颈并优化和调整应用,目的在于寻找到瓶颈问题。
当一家企业自己组织力量或委托软件公司代为开发一套应用系统的时候,尤其是以后在生产环境中实际使用起来,用户往往会产生疑问,这套系统能不能承受大量的并发用户同时访问?这类问题最常见于采用连机事务处理(}LTP)方式数据库应用、Web浏览和视频点播等系统。这种问题的解决要借助于科学的软件测试手段和先进的测试工具。
在测试方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown (死机)的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么***并发用户数就是前一个没有出现这种现象的并发用户数。如果测得的***并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么就可以了。否则,再根据各服务器的资源情况和业务操作响应时间进一步分析原因所在。
除了专业软件测试方法外,还有一个比较粗略的计算方法,那就是根据服务器的处理器性能进行估算。一个系统的CPU容量是用处理器数量乘以CPU的频率定额得到的。因此,对一台安装了两个2GHz处理器的计算机来说,它的CPU容量=2 X 2000MHz=4000 P4EM o
工作载荷下的系统目标CPU容量通常是由IT部门决定的。如果没有这方面的标准可循,那么你应比照着平均的长期载荷对峰值载荷进行分析,据此决定这一目标值,确保CPU在100%容量以下运行。假设一台安装了两个2GHz处理器的计算机在85%的容量下运行,那么应该按照如下方式计算其目标CPU容量:
目标CPU容量=4000 P4EM的CPU容量X 0.85=3400P4EM
为了根据目标CPU容量和总用户成本计算Web服务器的目标用户容量,在前表中找到每位并发用户Web CPU的总成本(0.55000)。然后将这一成本分成目标CPU容量,计算公式如下:
目标用户容量=目标CPU容量/每个用户Web CPU总成本(基础Web POEM )= 340010.5500=6182,这就是该系统在85%CPU容量工作情况下可支持的***并发用户数。