我从Acquia安装了Drupal common,并将其用于我的大学内部网站。我在运行最新的XAMPP的Ubuntu Lucid Lynx桌面版上进行了配置。我想提高网站的性能。我的数据库服务器和Web服务器在同一台机器上。
有人可以建议以下几点来提高性能:
- 理想的硬件配置是什么?
- 应该更改哪些PHP参数以获得最佳性能?
- 如何优化Apache和MySQL以获得最佳性能?
- 是否有Drupal中的调整可以使其更快?
- 是否有任何其他缓存等软件包可以提高速度?
我从Acquia安装了Drupal common,并将其用于我的大学内部网站。我在运行最新的XAMPP的Ubuntu Lucid Lynx桌面版上进行了配置。我想提高网站的性能。我的数据库服务器和Web服务器在同一台机器上。
有人可以建议以下几点来提高性能:
许多适用于初学者的提示可以在Drupal性能博客中找到。
Drupal的Devel模块有一个性能模块,可以记录内存使用和访问时间到您网站的报告部分。
使用它来确定您网站上哪些页面较慢。
加载xdebug(一个PHP扩展)并打开分析功能。请求您的性能密集型页面,它将创建(非常大的)整个请求的转储。在像KCacheGrind或WinCacheGrind这样的程序中打开缓存文件,您将能够看到Drupal在构建页面时进行的每个函数调用。从这里,您可以看到哪些部分最慢并对其进行优化。
如果您的网站速度较慢,这应该可以使您的性能提高30-80%。根据我的经验,通常有一些块或视图占任何性能问题的很大一部分。
Pro Drupal 7 Development有一个关于微调的整个部分,称为“优化Drupal”。我认为你会发现它非常有趣。它还讨论了硬件架构,这是你感兴趣的。
关于第四个问题,你可以首先查看boost模块并禁用你不使用的模块。此外,为了提高页面性能,你可以从配置 -> 性能启用页面缓存。在同一页中,你可以使用聚合和压缩CSS(JS)文件到一个文件中,以此减少每页的HTTP请求次数和下载页面的总大小。你还应该考虑是否设置了Cron。不运行cron可能会使数据库填满日志、过期缓存和其他“垃圾”。
最后一个建议是将你的数据库从MyIsam转换为InnoDB,但我认为这需要一些调查,因为InnoDB并不总是更快的。使用InnoDb时,表锁定的时间较短,而MyISAM在表读取方面更快。