3.3.4 第2步:搭建测试环境
这个项目的不同之处在于,它没有专门的测试环境。所有性能测试都是针对用户生产环境开展的;这并不是一种规范的做法,但这种情况也并不少见。
即使不算精确的测试环境,这个案例还是具有许多别具一格的挑战。首先,它所测试的应用程序早已部署并且已经被客户及内部用户激活使用,任何形式的测试都会受到二者的影响,所以在分析测试结果的时候要把这一项考虑进去。同时,性能测试执行的时候也会影响到实际的最终用户,特别是生成大量负载的时候。
所以,为了应对这些特殊的情况,性能测试环境需要以下配置:
·两台负载均衡Web服务器
·一台应用服务器
·一台数据库服务器
除上述的资源以为,为完成性能测试还需要提供4台客户机,这4台客户机用来提供测试过程中需要的负载。在此次测试过程中需要提供1000个虚拟用户的负载,我们为每台负载机分配250个虚拟用户的负载,另外在其中的一台主机作为负载测试过程中的控制台,为整个性能测试过程提供管理。
除了上述因素外,还需要考虑如何仿真广域网通过8Mb/s带宽链接到公司数据中心这种情况的负载,这就要求在经过代理服务器的时候合理分配这些负载,这样才能减少在单个负载生成点超负载的几率。
由于性能测试要在真实的环境中进行,所以我无法使用自动化性能测试工具集成的服务器和网络监控去监视系统性能。公司的安全策略限制安装标准版本配置以外的任何软件到产品服务器中。总之,这个测试环境架构是为真实的银行软件准备的,所以这些限制是正常的,并不苛刻。
这是2.2.5节的一个例子。内部安全策略禁止在目标服务器上安装任何监视软件,也不允许远程监视服务器。在这种情况下,唯一的选择就是全部放弃对环境的监控(这是不推荐的),或者依赖于任何一个有权限监控应用环境的监控器。
对于网上银行,可以利用微软的性能监控器(Perfmon)来监控负载中的服务器性能。这个软件一般都是默认安装在Windows Server操作系统上的。在这个性能监控器上具有一套Windows服务器KPI,可以与每一个性能测试执行并行运行。