1

我注意到一些关于压力测试 IIS 的帖子,但我更感兴趣的是了解一种建立物理 Web 服务器可以处理的基准的好方法。

我现在正在开发一个生产系统,该系统似乎每天都在减速到几乎停止,似乎没有人能弄清楚是什么导致了这个问题。这是您的标准 N 层设置(客户端、Web 服务器、数据库服务器)。我创建了一些简单的 ASP.NET 页面,它们可以做一些简单的事情,我正在使用这些页面来建立压力测试基准,以便以后在与已经存在的生产系统进行比较时使用它。

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

我想知道的是,以下测试应该在什么压力水平下运行?特别是,我正在使用Microsoft 的 Web 应用程序压力工具,我很好奇大多数人会期望压力水平压力乘数 可以接受范围应该是。我已经知道 Web 服务器在什么时候开始弯曲,它大约 20 的压力水平和 10 的压力乘数给予或接受,这导致大约 275 个页面请求/秒。我试图找出这个数字是否太低,这是否表明客户端和 Web 服务器之间存在问题或某种硬件问题,或者是否更多地表明存在没有错,而且系统太重了。

更新:自从我最初写这篇文章以来,代码已经移动到使用 IIS 7 运行 Windows 2003 的服务器上。

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

4

1 回答 1

1

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

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

要获得有关您网站的工作方式的良好概况,您确实需要建立一个良好的表示访问该网站的实际流量。一旦你有了模型,你就可以开始扩大使用它的人数,以探索哪些页面最慢以及哪些服务器资源最先靠墙。

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

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

对于表现不佳的页面,由于代码可用于分析,因此更容易进行改进。

I recommend using Visual Studio Ultimate edition to load test if you can get it. It also gives some ASP.NET profiling tools to get to grips with sections of code and database calls.

于 2011-02-27T23:54:00.727 回答