我需要对我的web应用程序进行负载测试或模拟2K连接,看看它是如何处理负载等的。
如果我在我的笔记本电脑上运行apache bench,我猜它不可能模拟这一点?
这是否意味着我应该启动单独的VM来访问生产服务器,每个服务器都可能进行200个单独的连接?
我是否需要处理1个请求x 2K个并发用户?
或者我可以在500 x 400左右运行以获得相同的结果吗?
发布于 2011-10-28 10:57:59
你应该签出Bees with machine guns它是非常可定制的,允许你启动一大群微型EC2实例来“攻击”你的服务器。这是一次不同寻常的现实世界测试。你可以尝试2000个并发请求,200个用户每个请求10个,2000个用户每个请求1个资源,等等。你会很好地感觉到瓶颈在哪里。
就成本而言,实例的成本是几分钱。这是一个很棒的工具。我知道很多高流量的应用程序/网站都在使用和依赖它。
发布于 2011-10-31 23:06:44
使用ab很容易得到误导性的结果,除非你真的知道自己在做什么。
如果需要模拟2000个并发连接,则需要并发打开2000个连接-就这么简单。如果需要模拟2000个并发事务,则需要一次打开2000个连接,并且每个连接都需要同时发出一个请求。云中的单个虚拟机可以轻松地通过Linux或Windows打开2000个并发连接。您使用的软件(如ab)是否能够处理它将取决于它的效率。
然而,如果你真的在问“我需要模拟2000个并发用户”,那么答案就不同了--因为这些用户可能会也可能不会在不使用的时候保持连接打开,而且大多数连接大部分时间都是空闲的。
https://stackoverflow.com/questions/7924540
复制相似问题