如何模拟大量的同时请求到Web服务器?

我想看看我的nginx + node.js设置可以走多远,我可以做出什么样的变化,以挤出额外的性能我已经无意中发现了一些优秀的文章,详细介绍了一些调整,可以做到操作系统承受更多的请求我不确定我完全理解)

假设我想看看它在一段时间内如何处理每秒60,000个请求。

我试过apachebench和beeswithmachineguns 。 apachebench似乎是有限的本地约3500请求或东西。 提高并发性只会降低平均需求。 我使用beeswithmachineguns每秒可以看到(声明)每秒5000个请求到一个testing页面,但是这还不够我想要的。 但是,这似乎有点在车边。

有没有可靠的方法来模拟这样的大量请求?

你也可以试试看。

你链接的文章看起来不错。

产生6万rq / s并同时回答这个问题将会成为一个问题,因为你肯定会耗尽资源。 最好有一些其他的计算机(可能在同一个网络上)来生成请求,并让你的服务器只处理这些请求。

这里有一个你希望的60,000 rq / s的攻击配置,它会在你的服务器上打一分钟。

# ~/.siegerc logfile = $(HOME)/siege.log verbose = true csv = true logging = true protocol = HTTP/1.1 chunked = true cache = false accept-encoding = gzip benchmark = true concurrent = 60000 connection = close delay = 1 internet = false show-logfile = true time = 1M zero-data-ok = false 

如果您没有基础设施来生成负载,请将其租用。 一个非常伟大的服务是flash.IO (我不隶属于他们)。 他们有一个简单直观的界面,(最重要的)他们可以为您生成几乎任何流量。