嘿。我在 Amazon EC2 平台上运行 Fedora Linux 服务器。我很确定我的配置有问题,因为它似乎非常慢。SSH 有时需要 30 秒以上才能连接,WordPress 生成的网页可能需要 5 秒才能加载,甚至可能需要 20 秒才能加载,这非常尴尬。
MySQL 查询都在一秒以内执行,所以我不认为情况如此。
我不太清楚问题出在哪里,但用 PHP 编写的简单页面可以立即加载。新安装的 WordPress 开始滞后。例如,在 MediaTemple 的网格托管上,同样的操作运行正常,所以我很确定我错过了什么。
如果您能给我推荐一些能帮助我的工具和文章,那就太好了。非常感谢!
Fedora Core 8、php 5.2.6、MySQL 5.0.45、OpenSSH 4.7p1、OpenSSL 0.9.8b。PHP 配置为 Apache 2.2.9 的一个模块,所有网站都基于虚拟主机。我有一些正在运行的 php 脚本,它们会通过 cron 在后台不时运行。
谢谢。
答案1
如果您的服务器速度很慢,请从以下几个方面进行查看:
- 您安装了 APC 吗?APC 是 PHP 的“编译器”,可使您的脚本速度提高 300%。您可以使用 phpinfo 检查 APC 是否正在运行。
- 分析您的 MySQL 查询。为此启用 wordpress 查询分析器(特定于 wp)。执行时间低于 1 秒的 10 个查询仍会导致较大的延迟。
- 分析服务器的内存使用情况。使用 linux
top
命令。您可以通过避免为静态内容加载 PHP 来降低内存使用量。您可以使用 FastCGI 来实现这一点,或者使用带有 PHP-FPM 的 Nginx,或者仅使用 Nginx 作为静态内容服务器。
如果您已经分析了这个问题并解决了问题,您可以通过添加额外的缓存(如 WP supercache 或 Varnish)来进一步提高性能。
答案2
可能是服务器尝试进行 DNS 查找但无法完成。所以软件(ssh 或 web 服务器)仅在超时后回复?
答案3
如果您的 RAM 有限,我强烈建议您运行 Nginx 作为 Web 服务器,并使用 PHP-FPM 作为 PHP 处理程序。如果您使用的 RAM 量非常大,那么从 SSH 到网站本身的所有内容都可能会延迟。
请粘贴您的 free -m 和/或 top 输出,以供社区查看。谢谢!