如何为网站设置负载/压力测试?

时间:2009-12-02 16:42:15

标签: load performance stress-testing load-testing

我的任务是对公司网站进行压力/负载测试,并且不知道这样做。我在google上为“如何加载测试网站”进行的每次搜索都会返回各种公司和软件进行物理负载测试。

现在我更感兴趣的是如何实际设置负载测试,就像我在加载测试之前应该考虑的那样,我的网站中的哪些页面应该测试负载以及我是什么东西在进行测试时想要监控。我们的网站位于一个多层系统上,配有一个单独的数据库服务器(IIS 7 Web服务器,SQL Server 2000 db)。我想我想监视Web服务器和数据库服务器以测试负载,但是在设置方案来加载测试Web服务器时我必须使用查询数据库的页面来查看数据库服务器上的任何负载。同时。

Web服务器和数据库服务器通常是同时测试还是作为单独的测试完成?

正如你所看到的那样,我对整个操作一无所知,所以任何关于如何解决这个问题的煽动都会非常有帮助。

仅供参考我一直在修补Pylot并且能够针对我们的网站创建和运行场景但是我不确定我应该在结果中寻找什么,或者我创建的场景甚至是一个值得测量的场景我们的网站。

提前致谢。

7 个答案:

答案 0 :(得分:3)

结帐JMeter。我发现开始使用它有点棘手但是一旦你进行了测试设置它就很容易运行。他们有一个关于如何设置分布式测试的教程here

答案 1 :(得分:2)

一般来说,负载测试将贯穿各种用户负载的常见场景。
例如,您可以设置一个测试,其中50个用户每秒登录10分钟,另一个测试以5个用户/秒开始,并扩展到1000 /秒或任何数字都有意义为您的网站。

编辑:
我的想法是测试您的实际应用程序在所有层中使用时的行为。
如果您是将要进行负载测试,绝对投资(时间和或者)是一个好工具。

答案 2 :(得分:1)

这是一个有助于您开始使用此工具的工具列表。你想先阅读它是正确的,压力测试会变得复杂。

http://www.softwareqatest.com/qatweb1.html

答案 3 :(得分:1)

现有站点的步骤编号1或替换现有站点的步骤是收集和分析。统计。

如果它们超出中心限制,则在第一次建模预测中没有意义。 (无论如何,他们会以严谨的方式出来)

在所有情况下,你应该与NOC的人一起工作。原因太明显了,支持英雄方法的主线对你的公司不利;尤其是当你去学习的时候。并不是说你不能成为一名英雄,但是NOC在决策会议上的表现数据众所周知地好战。

答案 4 :(得分:0)

首先,获取像Neoload这样的网络压力工具。

为大量用户活动建模并使测试偏向于与预测的用户模式相对应,然后根据需要调整负载。针对数据库运行查询并测量响应时间不会告诉您任何用户体验。相反,通过对用户活动进行建模,您可以精确地评估服务器/系统在实际负载下的响应情况,因为这就是您将要生成的内容。

用户活动建模可能变得相当复杂,但是像Neoload这样的优秀压力工具可以让您仔细模拟任何机器击中服务器的确切行为。理想情况下,您可以像平常一样制作网络流量,因此如果您有负载均衡器,请务必点击负载均衡器。

答案 5 :(得分:0)

我发现Visual Studio Test版更容易测试(尽管它不是免费的)。您可以将浏览会话记录为单个测试,这样您就可以轻松地从Web服务器和数据库中读取perfmon统计信息。

您应该采取的第一步是查看IIS日志以了解其中发生的情况。我将使用Log Parser 2 is the tool将IIS日志存入数据库。

查询可以让您了解峰值负荷。

下一步是为测试制定一两个目标。您是否需要确保网站能够处理每秒一页或两个X请求的峰值负载?

您是否打算增加网站的客户,在这种情况下,可以使用当前的IIS日志加载和论坛网站测试来模拟该范围的页面请求,但会加载预期的并发用户。

如果您打算更改网站上的功能,您可以执行基线负载测试,并在对网站进行任何更改后比较性能。

负载测试的真正目标是证明应用程序和硬件能够处理业务可接受的目标负载,并且仍能在合理的时间内返回页面。

答案 6 :(得分:0)

正如您在此问题的答案中所看到的,有许多程序可用于负载测试。根据我的经验,我发现Siege是我个人的最爱。它很简单,提供了进行负载测试所需的大多数选项。以下是一个示例用法:

seige -c 10 -t 1M http://www.google.com

这将向google.com发送10个并发请求1分钟。如果要测试多个页面,还可以提供包含URL列表的文件。

请注意,当您要测试一个或一组网址时,像seige这样的工具是合适的。如果您想测试更复杂的流程(例如,用户登录,提交条目,注销),那么您将需要使用像selenium这样的东西。