我们已迁移到新的专用主机 (iweb.com)。我们使用 Drupal 作为 CMS。
当我从浏览器加载网站时,网站加载时间为 40-50 秒。我们的服务器没有负载(网站尚未发布)。在网站加载期间,我检查了 RAM 是否正常(1GB 可用)。
我应该从哪里开始调试?什么可能导致这样的问题?
我们的服务器有 4GB 内存。但我们有 3GB 的固定使用内存。这正常吗?命令:free
total used free shared buffers cached
Mem: 4032752 2967016 1065736 0 59472 1658468
-/+ buffers/cache: 1249076 2783676
Swap: 2096472 0 2096472
答案1
Drupal 不应该需要加载到内存中,您说得对,这看起来不像是内存限制问题。查看 (a) 页面加载缓慢时的一些 CPU 负载数字和 (b) 有关软件堆栈的更多信息将会非常有趣。
我假设您使用的是 Apache 和 MySQL;它们是如何安装的?您是否对它们的默认配置进行了任何调整?首先查看 Apache 配置;MPM 配置是一些“关闭”数字确实会减慢您的速度的地方。<IfModule mpm_prefork_module>
例如,查看块的配置方式会很好。
查看完 Apache 配置后,再查看 MySQL 配置。(Nick O'Neil 明智地建议,如果数据库与 Drupal 不在同一主机上,则查看网络延迟。)我发现这篇博文最近对网站的数据库调整很有帮助。
答案2
所有内容是否都在同一台服务器上,包括您的 drupal cms 站点的数据库?如果数据库在其他地方,则可能是导致问题的罪魁祸首。
答案3
如果此网站在另一台服务器上正常运行,并且我们已确定您没有承受过重的负载。我认为这更可能与 DNS 或防火墙有关;您是否对另一个系统进行任何远程调用以提取提要等。
1)如果您有出站防火墙,任何请求都可能需要等待 30 秒才会超时。
2) 如果您在服务器上错误地指定了 DNS,或者您在之前的机器上拥有额外的本地别名,DNS 超时可能需要 30 秒。例如,如果您调用某个东西“machine2”,并且 machine2 在旧机器上的 /etc/hosts 中有别名,但在正常 DNS 中没有别名(即,可通过 resolv.conf 获取)。
以上这些对于你的情况来说合理吗?
安德鲁
答案4
除此之外,我们还购买了具有 4GB Ram 的服务器。
专用机器?从 ebay 买的?对于一台刚买的、预计可以使用 4-5 年的现代机器来说,这个价格真的很低。如今,消费级主板可以容纳 16GB 或 RAM。
你的 IO 负载是多少?CPU 负载是多少?32 位还是 64 位?