我们在服务器上运行一个论坛软件(Woltlab Burning Board),发现如果至少有两个用户不断快速重新加载网站(按住 F5 按钮),服务器负载将上升到 > 15,导致服务器响应非常慢。
我们还尝试了全新安装的论坛,没有安装任何插件,结果相同。负载似乎来自 apache,而不是数据库 (MySQL) 或其他任何东西。
该服务器具有以下硬件,应该足够了:Intel Xenon 4x3,3GHz 16GB RAM
按下 F5 键时 apache 加载的屏幕截图: https://i.stack.imgur.com/RNvEB.jpg
我们如何才能避免服务器负载过高?提前致谢
答案1
考虑使用 Varnish 或 nginx 来服务器和缓存静态内容。它们可以充当 Apache 的反向代理。这在我使用过的所有设置中都发挥了奇效。
更大的问题可能是该软件的编程很差。
答案2
您的用户所使用的技术本质上是分布式拒绝服务 (DDoS) 攻击背后的基本理论(即,向服务器注入过多的流量以致服务器无法应对)。
我的建议是教育您的用户以不同的方式使用该应用程序,或者与他们联系以找出他们以这种方式使用该应用程序是否有正当理由并解决该原因。
如果没有其他办法,可以屏蔽用户(可能通过失败2ban)是最后手段。任何方式的服务器流量泛滥都是不应该被容忍的,而提高速度只会让问题用户向服务器注入更多的流量。