5

我需要对我的 Web 应用程序进行负载测试或模拟 2K 连接,以查看它如何处理负载等。

如果我在笔记本电脑上运行 apache bench,我猜它不可能模拟这个?

这是否意味着我应该启动单独的虚拟机来访问生产服务器,每个虚拟机可能分别进行 200 个单独的连接?

我会做 1 个请求 x 2K 并发用户吗?

或者我可以玩大约 500 x 400 以获得相同的结果吗?

4

2 回答 2

5

你应该用机关枪检查 Bees它是非常可定制的,允许你启动一群微型 EC2 实例来“攻击”你的服务器。这是一个特殊的现实世界测试。你可以试验 2000 个并发请求,200 个用户每个请求 10 个,2000 个用户每个请求 1 个资源等等。你很清楚瓶颈在哪里。

就成本而言,实例的成本仅为几美分。这是一个很棒的工具。我知道很多使用和依赖它的高流量应用程序/网站。

于 2011-10-28T02:57:58.920 回答
1

除非你真的知道你在做什么,否则很容易用 ab 得到误导性的结果。

如果您需要模拟 2000 个同时连接,那么您需要同时打开 2000 个连接 - 就这么简单。如果您需要模拟 2000 个并发 TRANSACTIONS,那么您需要同时打开 2000 个连接,并且每个连接都需要同时发出请求。云中的单个 VM 可以轻松打开 2000 个与 Linux 或 Windows 的并发连接。您使用的软件(例如ab)是否能够处理它将取决于它的效率。

但是,如果您真的问“我需要模拟 2000 个并发用户”,那么答案会有所不同 - 因为这些用户可能会或可能不会在不使用时保持连接打开,并且大多数连接大部分时间都是空闲的。

于 2011-10-31T15:06:43.673 回答