Apache CPU 使用率过高,设置过载限制

Apache CPU 使用率过高,设置过载限制

在 ubuntu 服务器上,我运行带有 APC 的 LAMP 环境,并使用 fast-cgi 作为 php mod,以托管 2 个 wordpress 站点,并且两个站点都配置了 Wordpress Total Cache (W3TC) 插件。

该服务器的规格是:2GB RAM 和 1 CPU(CPU MHz:2100.076,缓存大小:2048 KB)。

其中一个站点给服务器产生了相当大的负载,并且服务器经常因为高负载而停止响应。

  • 我已停用未使用的 Apache 模块
  • 我已将 W3TC 的所有缓存设置为使用 APC 在内存中完成
  • 我做了一些 Apache 调整

但这些都无助于我解决严重的 CPU 占用问题php-cgi

当我实现 varnish 并尝试在另一台服务器上拥有副本以便也可以进行一些负载平衡时,我想知道如何设置某种负载限制php-cgi或其apache自身,并显示如下自定义消息:Sorry, the server is under heavy load, please try again later

必须提一下,我也使用cloudflare。

任何其他建议也非常欢迎。

答案1

PHP 生成内容和静态内容的典型请求率是多少?您是否检查过 APC 中缓存和操作码的命中率?PHP 的版本是多少?

显示自定义消息

执行此操作的合理位置是反向代理 - 但您说您尚未实施此操作。另一种方法是在当前框上运行最小的 Web 服务器和负载平衡器(除了主要内容)并以此方式重定向 - 但这比设置 Varnish 的工作量更大。

类似地,用代理脚本包装前端也会产生预期的效果 - 但同样,所需的努力不仅仅是实现 Varnish。

相关内容