我有一个带 Plesk 面板的专用 Ubuntu 机器。我的 php 文件随机需要几秒钟才能完成 ttfb。大多数请求服务器都很快,但经过几次刷新后,即使是空文件,它也会等待很长时间。我尝试编辑 apache2.conf 设置 ServerLimit 等。它现在响应得更好,但现在在少量负载下我会收到 502 和 504 错误,甚至 Nginx 提供的静态文件也无法加载。
我的服务器配置是:
- 2x Intel® Xeon® E5 2660 v3(20 核/40 线程)
- 256 GB DDR4
- 3x500 GB SSD(6 Gbit/s)
- 750 Mbit/s 带宽
答案1
好的,首先我简直不敢相信你拥有这样的配置。这可真是个大问题!你用这个运行了多少个网站?
好吧,这可能是一个愚蠢的建议,但我曾经遇到过这个问题,是因为系统过时了。所以我的建议是卸载 apache 和任何其他代理,然后更新您的系统。
sudo apt-get update
之后重新安装所有内容并放回文件,但首先不要更改配置。如果您只是通过刷新来访问这些文件,则不需要更改任何内容(首先)。
答案2
Apache 2.4 优化
我建议:
在 httpd.conf 中注释无用的日志和/或其依赖项。每次在日志中保存记录时,Apache 都会要求您的内核提供时间戳。如果有 4 个日志在 4 个不同的地方写入相同的记录,它会向您的内核询问 4 个时间戳。另一方面,在评论这些日志之前,请确保您不需要这些日志。我猜 Plesk 会读取日志来监控您的系统。尽管如此,如果您评论它们并且 502 和 503 消失,则意味着 SSD 的 I/O 存在问题(例如驱动程序存在问题)
使用官方 apache 网站检查标签目录中标签 vhosts 中的指令是否正常。您可能有矛盾的指令。
保持活动状态。这允许通过一个 TCP 连接发送多个 http 请求。但我几乎确信它已经开启了。
将超时时间减少至 30 秒。
不太重要:
从“添加语言”中删除您不使用的语言。例如,如果您没有包含台湾语的内容,请删除 AddLanguage zh-TW .zh-tw。
删除不使用的 AddCharset. 与语言相同的问题。
删除与 Internet Explorer 8 的追溯兼容性. 使用 Mozilla/4 注释这些行,例如 BrowserMatch ^Mozilla/4 gzip-only-text/html
如果您对 httpd conf 和依赖项执行更改,请使用 chattr +i yourconfigfile.conf 来阻止 plesk 对您对这些配置文件所做的更改进行任何更改。您可以通过执行 chattr -i yourconffile.conf 来删除它
apache 2.4 配置文件对于不同的计时器和同时持续连接数应该是开箱即用的。它不会对性能产生任何影响。这才是问题所在。因此,如果 plesk 对原始配置文件进行了更改,请尝试查看它们是什么。