我们有基于Drupal的网站。有大约30个模块,这对我们的VPS来说并不是很大。我们没有高流量,因此流量不会导致网站过载。
在相同的VPS上,我们有其他正确加载的网站。
我可以从哪里开始?如何查看服务器/网站的哪些部分导致性能问题?您可以提出哪些调查方法?
答案 0 :(得分:2)
你需要挖掘才能找到瓶颈。这是一篇关于它的好文章。 http://www.mindyourcode.com/php/drupal-profiling-performance-analysis-for-optimization-finding-the-performance-bottlenecks-in-your-application-at-core-level/
答案 1 :(得分:1)
好问题。这是一些答案:
1)将YSlow扩展下载到Firefox,然后安装它。这将允许您测试许多不同的项目,这些项目可以说明您的网站可能会变慢的原因。不过,目前看来这不是你目前的大问题。
2)将Firebug扩展安装到firefox。 firebug的“Net”选项卡告诉您每个文档下载的时间。你的核心页面耗时5秒,由于某种原因,system.css花费的时间差不多,这是不寻常的,因为它是一个静态文件。
3)检查并查看您是否有任何慢查询,以及原因。假设您正在使用mysql,此页面http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html将告诉您如何设置慢查询日志,该日志将收集并报告哪些查询需要很长时间才能完成。
除此之外,还有一些建议:你几乎肯定没有使用Drupal的一些性能选项,比如缓存,我建议使用memcache来加速网站的运行。 (见http://drupal.org/project/memcache)
看起来你的查询花了太长时间。在我看来,慢查询日志是最有用的工具 - 它会告诉你在哪里优化你的网站。请注意,mysql倾向于使用它在WHERE子句中找到的表上的第一个索引而不是最快的,因此像“WHERE type ='story'AND status = 1”这样的查询比“WHERE status =”快1 AND type ='story'“,因为类型索引过滤数据比状态1更好。 (而Views会将where子句中的项目放在与Filter部分相同的顺序中。)