什么是负载测试运行IIS的生产系统的良好基准测试?

时间:2009-04-01 00:44:25

标签: iis load-testing stress-testing webapplicationstresstool

我注意到有一些关于压力测试IIS的posts,但我更有兴趣知道一个很好的方法来建立我的物理Web服务器可以处理的基准标记。

我现在正在研究一个生产系统,它似乎每天都在减速到接近停止,似乎没有人能够找出造成这个问题的原因。这是您的标准N层设置(客户端,Web服务器,数据库服务器)。我已经创建了一些简单的ASP.NET页面,它们可以做一些简单的事情,我正在使用它来建立压力测试的基准测试,我可以在以后使用时与现有的生产系统进行比较。

我已经构建了一个示例aspx页面,它只返回一些关于盒子利用率的Web服务器统计信息,没什么重要的,也许是几行代码。我还创建了一个简单的Web服务(asmx),它将在给定正确的id的情况下测试数据库连接,再次打开数据库连接和没有真正做任何事情的示例查询也没什么用。

我想知道的是, 以下测试应该在 下运行的良好压力水平是多少?特别是,我正在使用微软的Web应用程序压力工具,我很好奇大多数人都期望压力水平压力倍增器 可接受的范围应该是。我已经知道Web服务器在什么时候开始屈曲,它的大约20个Stress Level和10 Stress Multiplier给出或者接受,这导致大约~275页请求/秒。我试图找出这个数字是否太低,如果这表明客户端和Web服务器之间存在问题或某种类型的硬件问题,或者更多的迹象表明存在没错,系统太重了。

更新:由于我最初撰写此文章,因此代码已移至使用IIS 7运行Windows 2003的服务器。

我现在想知道的是,如果我设置了一个相对简单的测试,例如一个只提供小页面的基本index.html文件,你会期望“最佳”页面请求/秒我可以通过压力测试来实现吗?

1 个答案:

答案 0 :(得分:1)

  

我现在要知道的是,如果我设置的话   一个相对简单的测试,例如   刚刚提供的基本index.html文件   一个小页面,你会期待什么   我能做到的“最佳”页面请求/秒   从压力测试中获得?

我不能谈论微软的Web应用程序压力工具,但应该可以破坏IIS上托管的静态html页面,直到测试机器和服务器之间的网络泛滥或测试服务器耗尽CPU来创建和编译测试。所有ISS都会每次发送相同的缓存响应。

为了更好地了解您网站的运作方式,您需要建立一个良好的网站实际流量表示。一旦你进行了建模,你就可以扩大使用它的人数来探索哪些页面最慢,哪些服务器资源首先出现在墙上。

您将拥有一个或多个页面,其性能对于给定的负载是不可接受的,或者某些服务器统计信息(如磁盘使用情况或数据库性能正在过度使用)。

除非您在与生产站点相同的架构上托管的站点上进行测试,否则很难提出架构建议。

由于表格表现不佳,因此可以更容易地进行改进,因为代码可用于分析。

如果你能得到它,我建议使用Visual Studio Ultimate版加载测试。它还提供了一些ASP.NET分析工具来处理代码和数据库调用的部分。