我注意到一些关于压力测试 IIS 的帖子,但我更感兴趣的是了解一种建立物理 Web 服务器可以处理的基准的好方法。
我现在正在开发一个生产系统,该系统似乎每天都在减速到几乎停止,似乎没有人能弄清楚是什么导致了这个问题。这是您的标准 N 层设置(客户端、Web 服务器、数据库服务器)。我创建了一些简单的 ASP.NET 页面,它们可以做一些简单的事情,我正在使用这些页面来建立压力测试基准,以便以后在与已经存在的生产系统进行比较时使用它。
我已经构建了一个示例 aspx 页面,它只是返回一些有关盒子利用率的 Web 服务器统计信息,没有什么繁重的,可能只有几行代码。我还创建了一个简单的 Web 服务 (asmx),它将在给定正确 id 的情况下测试数据库连接,再次打开一个数据库连接和一个实际上并没有做任何事情的示例查询。
我想知道的是,以下测试应该在什么压力水平下运行?特别是,我正在使用Microsoft 的 Web 应用程序压力工具,我很好奇大多数人会期望压力水平和压力乘数 可以接受范围应该是。我已经知道 Web 服务器在什么时候开始弯曲,它大约 20 的压力水平和 10 的压力乘数给予或接受,这导致大约 275 个页面请求/秒。我试图找出这个数字是否太低,这是否表明客户端和 Web 服务器之间存在问题或某种硬件问题,或者是否更多地表明存在没有错,而且系统太重了。
更新:自从我最初写这篇文章以来,代码已经移动到使用 IIS 7 运行 Windows 2003 的服务器上。
我现在想知道的是,如果我设置了一个相对简单的测试,例如只提供一个小页面的基本 index.html 文件,您期望我可以实现的“最佳”页面请求/秒是多少压力测试?