当服务器超载且 ssh 需要很长时间才能连接时,如何进入服务器

当服务器超载且 ssh 需要很长时间才能连接时,如何进入服务器

我的 Debian 服务器有时会超载(由于大量的 Apache 进程和编写糟糕的网站)。软件开发人员正在花时间修复该问题,但在他们修复之前,我必须应对不断超载的服务器。

当它超载时,我很难与机器建立 SSH 连接,因为它的负载太大了。如果我设法建立 SSH 连接,我总是能够重新启动 apache,从而将服务器从疯狂的网站代码中拯救出来。

但有时我可能需要一个小时左右才能建立连接,因为我的 SSH 连接一直超时。

有人能建议一种方法来保证我始终可以通过 SSH 接入,即使服务器负载很大吗?

答案1

重新调整sshd进程以提高其优先级。在资源紧张时应该会有所帮助

答案2

解决此问题的理想方法是启用某种带外访问方法。最简单的方法可能是串行控制台。您可以获得允许您通过 ssh 进入并访问服务器串行控制台的串行控制台。许多不错的托管公司可以在专用和托管服务器上提供这种访问。或者,您可能拥有诸如启用 IP 的 KVM 或 HP 的 iLO 或 Dell 的 DRAC 等无人值守管理。

答案3

如果无法连接的原因是由于带宽而不是系统资源,那么您可以始终在网络边界防火墙处应用流量整形。如果是系统资源问题,请编写一个脚本来查找系统资源是否耗尽,如果连续运行 3 次,它会检测到资源问题,然后自动重新启动 Apache。

答案4

尝试看看究竟发生了什么。也许你可以让动态生成的内容仍然由 apache 提供,但让静态内容由更适合的服务器提供,例如ngingx/轻量httpd/数学- 在同一个 hsot 上 [ 如果您有另一个 IP 或可以使用另一个端口 ] 或在另一台主机上。

相关内容