【问题标题】:Does Apache have built in DDOS protection? I'm getting interesting JMeter resultsApache 是否内置了 DDOS 保护?我得到了有趣的 JMeter 结果
【发布时间】: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


【解决方案1】:

Apache 无法保护您免受 ddos​​ 攻击,但您可以使用一些模块来降低风险,它们是:mod_qosmod_evasive

如果您使用来自 GoDaddy 的共享主机,您似乎在一台服务器上加载所有网站,Godaddy 可能会阻止您的网站,或者他们可能会将您的负载测试视为 ddos​​ 攻击。对于实验,您需要隔离的 VDS 服务器或云服务器。

如果你想保护你的项目,你可以:

  • 使用负载平衡器
  • 使用缓存工具
  • 使用防火墙保护
  • 操作系统调优
  • 使用 CDN

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多