4

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

...事实证明,杰夫和他的程序员非常出色,以至于他们建立了一个每天可以为 80,000 名访问者提供服务的网站(大约 755,000 次页面浏览量)

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

4

6 回答 6

3

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

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

于 2008-11-06T23:52:02.250 回答
3

JMeter、ab 或httperf

于 2008-11-07T00:44:10.727 回答
2

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

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

http://jmeter.apache.org/

问候。

于 2008-11-07T00:17:22.760 回答
1

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

于 2008-11-06T23:19:46.607 回答
1

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

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

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

于 2008-11-06T23:45:05.057 回答
1

Jason,您是否查看过 Visual Studio 2008 Team System 中内置的负载测试?查看此视频以查看演示。

编辑:这是另一个分辨率更高的视频。

于 2008-11-07T05:24:02.033 回答