4

我在小型 AWS 实例(双核 AMD,2.60 GHz,1.7 GB RAM)上部署了一个 ASP.net Web 应用程序。我想在这台服务器上为 300 个并发用户执行负载测试,并且为了将来,我想为我的应用程序为 250,000 个注册用户设计暂定的容量规划和部署架构。

我是这个领域的新手,之前没有做过任何类型的负载测试。

我的应用程序的用例和场景如下:

场景- 数据库中有 250, 000 个注册用户

并发- 5% - 7% - 大约 17,500

每个用户都有一个书架,假设每个用户订阅了 10 本书。每本书大小约为 25 MB,有 400 页

用例

  1. 用户登录

    • 数据库认证和授权
  2. 查看带有书籍图像的书架

    • 书架 (.swf) - 400 KB(为每个用户加载)

    • 将加载 10 张图书图片(每张图片 20KB)(大约)

    • catalog.xml - 30 KB / 用户分配给用户

    • 注意:大约 650KB 的数据被下载到客户端机器上

  3. 浏览书籍:单击书籍图像后,以下文件及其大小将下载到客户端计算机

    • 一度
    • Reader.swf - 950 KB(首次下载)
    • 每本书大约 100 KB 的 XML 数据(点击时)
      • 书本.xml
      • 注释.xml
      • 目录.xml
      • Usersettings.xml 40KB*4 = 每个用户 160 KB (.swf)
    • 注意:大约 1200KB 的数据被下载到客户端机器上

有人可以建议我该如何进行吗?

非常感谢提前,阿马尔

4

2 回答 2

3

完成第一个目标(测试 300 个用户)非常简单 - 选择负载测试工具,构建场景并进行测试。然后调整/优化并重复。

但我认为你更大的问题是如何为你的全部容量进行测试和规划 - 你说的是大约 18k 并发用户。首先,确保该数字(用户群的 7%)是峰值并发数,而不是平均数。您需要测试峰值。

因此,假设您正在计划一个负载均衡的多服务器集群来处理该负载,下一步是确定单个 Web/应用程序服务器的最大容量,而无需使用负载均衡器。这为您提供了一个基准,您可以使用它来判断集群的性能。这是非常重要的一步,我们的许多客户都跳过了这一步,对自己不利。这很重要,因为在许多情况下,负载平衡系统不会随集群中的服务器数量线性扩展。理想情况下,它应该和好的系统非常接近。您会惊讶于我们看到系统无法很好地扩展的频率。我们甚至已经看到一些系统作为集群的容量实际上比单个服务器本身可以处理的容量要低。

一旦你建立了基线,你就可以对你需要的服务器总数做出初步估计,然后你就可以构建你的集群了。我建议使用 2 个 Web/应用程序服务器进行下一次测试。这应该使您的容量几乎翻倍。如果没有,那么您需要在继续进行更大的测试之前确定原因。可能的候选者是负载平衡器设置或数据库(如果单个数据库服务器正在为所有 Web/应用程序服务器提供服务)。有时,对应用程序架构更基本的东西在起作用。

当您对从 1 台服务器扩展到 2 台服务器的性能感到满意时,您可以继续扩展至整个集群并测试最大容量。如果您没有看到预期的可扩展性,请准备回溯 - 使用 3、4、5 台服务器等进行测试。

我希望这会有所帮助!祝你好运:>

于 2011-01-24T14:17:39.010 回答
0

此链接: http: //support.microsoft.com/kb/231282包含一些工具的链接,可对您的网站进行压力测试。

这显然是一个复杂的领域,因此您可能有 250 万注册用户(真的有这么多吗?),但有多少是并发的,他们将使用网站的哪些区域。所有这些(以及更多)都会影响系统的容量规划。

于 2011-01-20T11:16:45.807 回答