我如何计算出我的服务器可以处理的最大负载?

时间:2008-11-06 23:18:07

标签: asp.net sql-server iis testing load

在Joel撰写的题为How Hard Could It Be?: The Unproven Path的文章中,他写道:

  

......原来杰夫和他的   程序员非常好,他们   建立了一个可以服务80,000的网站   每天访客(大约755,000页   视图)

我如何计算出我的服务器可以处理的最大负载?

6 个答案:

答案 0 :(得分:3)

对您的软件进行基准测试通常比看起来要困难得多。当然,很容易产生一些说明软件性能的数字,但除非使用非常准确的最终用户实际使用模式表示,否则它可能与您获得的实际结果完全不同在野外。众所周知,网站很难正确地进行基准测试。当然,您可以运行一个脚本来衡量生成页面所需的时间,但它与您在实际使用情况下所看到的数字完全不同。

为了创建服务器可以处理的可靠基准,您首先需要弄清楚用户的使用模式是什么。如果您的站点已在运行,则可以从日志中轻松收集此数据。接下来,您需要创建一个模拟模拟与真实用户展示完全相同的模式...即 - 查看首页,登录,查看状态页面等等。不同的页面将在服务器上创建不同的负载,要求您在模拟服务器上的负载时实际获取正确的页面集。最后,您需要确定用户缓存了哪些资源,您可以通过查看访问日志或使用firebug等工具再次执行此操作。

答案 1 :(得分:3)

JMeter,ab或httperf

答案 2 :(得分:2)

你可以创建几个“压力测试”并像其他海报所说的那样运行它们。

Apache有一个名为JMeter的工具,您可以在其中创建这些测试并多次运行它们。

http://jmeter.apache.org/

问候。

答案 3 :(得分:1)

Apache有一个名为ab的工具,您可以使用它来对服务器进行基准测试。它可以为您模拟加载请求和并发情况。

答案 4 :(得分:1)

基本上,您需要模仿用户的行为,并继续增加被模拟的用户数量,直到服务器响应不再可接受为止。

有很多工具可以做到这一点,但基本上你想在你的网站上记录一些会话活动,然后回放这些会话(添加一些随机化以反映真实的用户行为)很多次。

您需要记录每个会话的性能并不断增加负载,直到性能变得不可接受为止。

答案 5 :(得分:1)

杰森,您是否看过Visual Studio 2008 Team System内置的负载测试?查看this video即可观看演示。

编辑:这里的another video分辨率更高。