12

我的任务是突然对我们公司的网站进行压力/负载测试,但对此一无所知。我在谷歌上进行的每次搜索“如何对网站进行负载测试”都会返回各种公司和软件来实际进行负载测试。

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

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

正如你所看到的,我对整个操作一无所知,所以任何关于如何进行的煽动都会非常有帮助。

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

提前致谢。

4

7 回答 7

3

查看JMeter。我发现开始使用它有点棘手,但是一旦你设置好测试,它就很容易运行。他们有一个关于如何在这里设置分布式测试的教程。

于 2009-12-02T16:46:09.287 回答
2

一般来说,负载测试将运行各种用户负载的常见场景。

因此,例如,您可以设置一个测试,其中 50 个用户每秒登录 10 分钟,另一个数字从 5 个用户/秒开始并扩展到 1000 个/秒或任何对您的站点有意义的数字。

编辑:
这个想法是测试您的实际应用程序在所有层使用时的行为方式。
如果您要进行负载测试,一定要在一个好的工具上投入(时间和或美元)。

于 2009-12-02T16:50:13.180 回答
1

现有站点或替换站点的第一步是收集和分析。统计数据。

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

在所有情况下,您都应该与 NOC 的某个人一起工作。原因太明显了,这里支持英雄方法的线程对您的公司不利;尤其是当你边走边学的时候。并不是说你不能成为英雄,但众所周知,NOC 对在决策会议上掉在他们腿上的业绩数据好战。

于 2011-01-24T00:03:16.597 回答
1

从这个问题的答案可以看出,有很多程序可用于负载测试。根据我的经验,我发现Siege是我个人的最爱。它很简单,提供了进行负载测试所需的大部分选项。这是一个示例用法:

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

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

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

于 2010-04-28T05:21:12.457 回答
1

以下是帮助您开始使用此工具的工具列表。您想先阅读它是对的,压力测试可能会变得复杂。

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

于 2009-12-02T16:46:10.083 回答
0

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

您应该采取的第一步是查看您的 IIS 日志以了解那里发生了什么。Log Parser 2 是我将使用的工具,应该将 IIS 日志导入数据库。

查询将使您了解峰值负载。

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

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

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

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

于 2009-12-02T18:46:32.320 回答
0

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

对许多用户活动进行建模,并使您的测试与预测的用户模式相对应,然后按您认为合适的方式扩大负载。对数据库运行查询并测量响应时间不会告诉您有关用户体验的任何信息。相反,通过对用户活动进行建模,您可以准确衡量您的服务器/系统在实际负载下的响应方式,因为这就是您将要生成的内容。

用户活动建模可能会变得非常复杂,但是像 Neoload 这样的良好压力工具可以让您密切建模任何机器访问服务器的确切行为。理想情况下,您会像往常一样制作网络流量,因此如果您有负载均衡器,请确保使用负载均衡器。

于 2009-12-02T16:46:11.883 回答