【发布时间】:2013-08-08 02:45:12
【问题描述】:
最近一位客户要求我对他们的服务器进行负载测试,看看它是否可以处理 10,000 个并发用户。为此,我一直在使用 JMeter,但得到的结果并不理想。
我只想说这是我第一次使用 jmeter,所以我不太确定我在做什么,但这是我发现的。
在一次测试 1000 个并发用户,每个用户访问 2 个页面时,失败率为 96%。这看起来很糟糕......真的很糟糕。
JMeter 中是否有可能出错的地方?我所做的只是向他们的服务器发送 HTTP GET 请求。
我不知道客户的计划是什么,但我知道他们使用 GoDaddy 作为他们的提供商,而且根据我的经验,GoDaddy 的“无限”带宽相当有限。这是问题还是我真的希望是这种情况,是网站的 Apache 服务器阻止了重复尝试。
我收到一条错误消息,提示 org.apahe.http.com.HttpHostConnectException: Connection to ~~~.com refused。
这是服务器聪明吗?
还是服务器卡住了?
提前感谢您的帮助,如果您需要更多信息,请告诉我。
【问题讨论】:
-
10,000 个并发用户是一个现实的指标吗? (很多?)互联网上不到 1% 的网站会获得该流量。 Go Daddy 是可用的最差主机之一。如果他们真的需要处理这些流量,您需要对多服务器系统进行一些认真的调整。想到AWS,但我认为客户在冒烟
-
客户是电视真人秀人物,所以我想他们有可能同时获得那么多热门节目,但相信我,我的想法完全一样。
-
要么向他收费,然后花时间学习如何真正扩展项目,要么只是解释它不会成为问题。
-
您的测试设置是什么样的?如果我假设您使用的是单个 jmeter 实例,则客户端本身将成为瓶颈。我没有遇到任何推荐的数字,但是每当我在我的双核 linux jmeter 客户端上运行超过 250 个线程时,我就会开始收到各种错误响应。但是,一旦我使用分布式 jmeter 分配负载,事情就会开始按预期运行。
-
@Manish 看来我可以毫无问题地跑近 1000 次,但除此之外,它真的很不开心。我相当有信心客户端服务器很糟糕,因为我对自己的网站进行了相同的测试并且得到了 0 个错误。切换回客户端,97% 连接失败。
标签: php apache jmeter load-testing stress-testing