Web 应用程序压力工具通过实际模拟从 Web 应用程序请求页的多个浏览器来激活测试环境,并允许通过从浏览器访问想要包括到测试中的页来记录脚本。然后,该脚本可以在安装有该应用程序的任何 Windows NT 或 Windows 2000 客户端上保存和运行。因为 Web 应用程序压力工具能够模拟来自每个单独工作站的多个客户端,所以具有的可用客户端计算机不必与生产应用程序具有的一样多。
注意当运行压力测试时,注意不要增加客户端的压力水平,以免测试计算机在线程间的上下文切换上花费的时间比实际运行所用的时间多。若要确保线程分布于各个客户端,请在运行基于Web的应用程序测试时使用几个客户端,从而减轻一个客户端计算机的资源限制。性能监视器为了有效地对数据访问组件进行压力测试并正确地诊断结果,使用监视和记录运行统计的方法极为重要。性能监视器是随 Microsoft Windows NT 和 Microsoft Windows 2000 一起提供的工具,它是适用于在 Internet Information Server 中和数据服务器上监视和记录这些统计的最好工具。
其他工具除了在 Internet Information Server 上使用性能监视器外,还有必要监视数据服务器上的某些自定义计数器。大多数高性能数据服务器应用程序,例如 Microsoft SQL Server、Oracle 和 Microsoft Exchange Server,都包括自定义性能监视器计数器,可用于测定应用程序和其运行在的硬件的健康情况。
运行压力测试认真地拟定了测试策略后,实际运行测试是容易的。性能测试的第一个任务是使用工具,例如 Microsoft Web 应用程序压力工具,将压力施加到 Web 站点并测量 Web 服务器每秒能处理的最大请求数。这是定量测量。第二个任务是确定哪一个资源阻止每秒请求数的提高,例如 CPU、内存或后端相关性,这个过程更具有艺术性,而不单是一种精确测量的技术。
首先,选择打算运行的 ASP 页。(寻找 Web 站点的最慢页并使用这些页。)具体的选择取决于哪些页最频繁访问数据库并且具有最多或最复杂的查询。该选择非常重要:包括比必需的更多的页比遗漏一些关键代码路径要好。如果适当的话,还可考虑让测试应用程序按指定的顺序访问一系列页,并像应用程序将在真实情况中所做的那样,将 cookie 或查询字符串传递到每一页。
注意根据实际的应用程序,可能有必要为测试准备ASP页。一些页可能要求硬编码通常由应用程序生成的和Web压力工具不能动态生成的参数值。当在 Internet Information Server 中运行应用程序时,应该(使用性能监视器)监视以下计数器: Active Server Pages:每秒请求数、被拒绝的请求数、总队列长度和当前会话数 Inetinfo process:专用字节数、虚拟字节数和打开句柄数 Processor:百分比用户时间与百分比特权时间相比注意如果应用程序在Windows NT 4.0中自己的内存空间中运行(或者在Windows 2000中的Stress Properties页上的设置为Application Protection: High [Isolated]),则应监视mtx.exe(或Windows 2000中的dllhost进程)而不是监视Inetinfo进程。
如下图所示,性能监视器中的 Active Server Pages 每秒请求数计数器将显示应用程序的实际吞吐量(此例中每秒的请求数为1.000)。该统计使您能够诊断压力下的 Internet Information Server 性能,并查明潜在的瓶颈。这反过来使您得以判断应用程序以可接受的响应时间服务数量最多的用户的能力。
图 3:性能监视器
运行 ASP 技术的 Web 服务器从启动时建立的池中给每页分配一个线程;如果所有线程都已使用,后面的页请求将被放置在队列中。通过用性能监视器监视总的队列长度,可以确定有多少客户端正在等待服务器的响应。
两个最常见的与压力有关的非硬件数据库问题是死锁和锁定并发。在数据服务器上,使用数据存储区将提供的自定义性能监视器计数器时,应该至少监视下列内容: 锁请求数 每秒死锁数 每秒表锁扩大数 用户连接数 活动事务数
文章来源于领测软件测试网 https://www.ltesting.net/