如何实施“失败鲸鱼”来适当地限制服务器负载(系统容量管理解决方案)

时间:2011-04-05 作者:Diesel Laws

对于我们的网站,我们希望这样做,如果网站即将关闭,它将显示一个自定义503(基于我们设置的服务器负载限制)。是否有一些内置的东西可以处理这个问题,或者有一个插件可能会有所帮助?

我知道手动切换维护模式插件是可用的,但如果网站流量过大,它们将被删除

4 个回复
SO网友:Jan Fabry

推特和其他高容量网站可能比服务器早一层做到这一点。可能有一个负载平衡器可以检测所有服务器上的服务器负载,如果负载太高(当机器停止响应时),它们会将流量重定向到只返回“fail whale”页面的服务器。

This answer on Stack Overflow 建议查看sys_getloadavg() 并在错误过高时显示错误(“过高”应通过试错来定义)。我基本上会这么做index.php “引导”WordPress的文件,以便快速退出,而不会在服务器上增加负载。

SO网友:petermolnar

如果您的系统在linux上,则可以从/proc/loadavg

例如:

$load = reset ( explode ( \' \' , file_get_contents(\'/proc/loadavg\') ) );

if ($load > 3.14 )
{
    // load too high, 
    header(\'HTTP/1.1 503 Service Temporarily Unavailable\');
    header(\'Status: 503 Service Temporarily Unavailable\');
    header(\'Retry-After: 60\');
    fail_whale();
}
编辑:添加标题方法行。

SO网友:Rarst

您可以通过下拉菜单自定义数据库关闭时的消息db-error.php 在里面wp-content 目录

但如果PHP宕机了,我不认为WP或其插件能做什么。最好问问你的主机如何定制服务器的503页面。

SO网友:Otto

在您的中。htaccess文件,添加此行:

ErrorDocument 503 /error503.html

然后做一个错误503。包含自定义内容的网站根目录中的html文件。

这可能有效,也可能无效,具体取决于主机的配置方式。

结束

相关推荐

“自动WordPress更新无法完成-请立即重新尝试更新”--但没有.Maintenance文件

在自动升级失败后,我正在尝试手动将wordpress升级到最新版本(3.0.3)。升级后,一切正常,除了在我的管理区顶部有一条令人不快的消息:自动WordPress更新未能完成-请立即重试更新我在互联网上搜索,每个人都说这是因为.maintenance 文件位于Wordpress根文件夹中,是自动升级或手动升级失败的遗留文件。在第二种情况下,只需删除该文件,一切都会很好。但我搜索我的wordpress安装目录,没有这样的文件。知道是什么导致了这个问题吗?