防止服务器过载

防止服务器过载

由于我的客户的 php 电子商务门户位于专用主机上,但存在某些过载问题。例如,在每秒 60 次请求的情况下,CPU 使用率高达 84%,所以我正在考虑提出一个计划。

要在主服务器上实现 appache,请使用 varnish 和 memcached 来缓存以前从 Web 服务器获取的请求,并在 appache 前端使用 NGINX 来提供静态内容。

现在,由于 NGINX 将所有 PHP 请求重定向到 appache,因此我正在考虑放置另一个小巧但功能强大的 Web 服务器来仅提供 PHP 页面服务。

这种情况是这样的,当我看到 appache 负载很高时,我可以将某些请求重定向到其他 PHP 网络服务器,或者我应该让 appache 仅运行以处理每秒 100 个请求并将其他 PHP 请求绕过到另一个 PHP 网络服务器。

另外请告诉我使用哪个服务器作为强大的 PHP 网络服务器?

如果我错了请纠正我。谢谢!

答案1

在把事情搞糟之前,您需要弄清楚到底是什么对 CPU 造成了如此大的负担。

  • 数据库是否承受着巨大的负载?
  • 是不是 PHP 处理导致 Apache 消耗 CPU?

如果它是数据库,那么可能值得做一些分析。

  • 是否有某些查询导致负载最大?这些查询可以更高效地完成吗?
  • 有些表有问题吗?它们需要维护吗?

如果是 Apache/PHP,再次进行分析可能值得你花时间

  • 是否有某些页面/脚本占用了大部分负载?
  • 它们能否更有效地完成,例如缓存等。

另外值得考虑的是:

  • 只是将硬件升级到更好的规格。
  • 将数据库移动到它自己的服务器。
  • 在另一台服务器上托管静态内容。

相关内容