【问题标题】:Drupal site performanceDrupal 网站性能
【发布时间】:2017-08-18 17:46:47
【问题描述】:

我已将 Drupal 6 用于我的多语言网站。我遇到了网站性能问题我已经启用了 drupal 的缓存设置,但是从一个页面移动到另一个页面时它仍然很慢。 我也使用过 boost 模块,但它不适用于多语言网站。

请告诉我任何其他方式,以便我提高性能。提前致谢。

【问题讨论】:

  • 你在什么样的硬件上运行它?专用还是共享?有多少并发用户?这里缺少很多信息
  • 什么负载水平?插件?有自定义代码吗?本地服务器或其他服务器上的数据库?等

标签: drupal caching


【解决方案1】:

您的问题有很多答案,而不是列出所有答案(我必须从几个网站复制),这里有一些主要答案,以及我推荐的一些资源:

-> 关闭所有不使用的模块

-> 开启缓存

-> 尝试使用 memcache 模块

-> 启用 drupal JS 和 CSS 聚合,这样我们可以加载更少的文件,这意味着更少的 HTTP 请求

-> 使用 CDN

-> GZIP 内容

-> 缩小 Javascript

-> 避免重定向

-> 减少重复脚本


我会推荐的一些资源

http://wimleers.com/article/improving-drupals-page-loading-performance

http://drupal.org/node/326504

http://groups.drupal.org/node/85979

http://groups.drupal.org/node/195218

http://www.bootstrappingindependence.com/technology/how-to-improve-website-performance-with-drupal-php-mysql-and-apache/

http://www.vmirgorod.name/blog/tuning-drupal-performance

http://pronovix.com/blog/my-favorite-drupal-performance-hacks

http://fenix-solutions.com/blog/2009/12/09/tips-for-improving-drupal-performance/

http://drupalst.com/blog/improving-drupal-performance

【讨论】:

  • 嗨,感谢您的所有回复...我正在使用具有以下配置的亚马逊 EC2 服务器。 1) 100GB EBS 卷 2) 4GB 和双核 它仍然提供缓慢的性能。此外,除了缓存数据以提高站点性能之外,还有其他选择吗,因为缓存会立即在站点上反映更改。我需要确认 Drupal 站点的性能是否取决于数据库的大小?请让我知道这一点。请给我确切的方法,以便我尽快解决这个问题。非常感谢:)
  • 否,drupal 的性能受数据库大小的影响不大。但是如果你安装了很多模块,这可能会导致一些严重的性能问题。我建议安装开发模块并在页面加载时检查所有查询。查看哪些查询需要花费大量时间
  • 您好再次感谢,我已经安装了开发模块并调试了每个请求中加载的查询数量。是否有任何模块可以避免此查询一次又一次地执行?另外,告诉我是否还有其他方法,因为我的网站包含像 in.XXX.com、sg.XXX.com 这样的子域,所以缓存是有风险的……因为它不会重定向我已经测试过了。谢谢
  • 我不认为有一个模块可以避免冗余查询,您可以做的是检查从哪里调用查询并尝试从那里进行调试。如果它回答您的问题,我将不胜感激您选择此作为答案。问候
【解决方案2】:

我在我的一个应用程序中遇到了同样的问题,我已经完成了以下步骤,它提高了我通过 YSlow 和 GooglePageSpeed 验证的性能。

  1. 如果您使用的是 Apache,请将 Apache 替换为 NGINX 作为 Drupal 站点的 Web 服务器。当数千个连接同时运行时,这可以提高性能并降低内存利用率。 (Apache 为每个额外的连接分配内存,因此随着并发连接的增加,它往往会开始交换到磁盘)
  2. 反向代理服务器的实现。 NGINX 是一个非常流行的 Drupal 站点反向代理服务器。实施反向代理服务器消除了处理来自应用服务器的 Internet 流量的负担,并允许执行其他性能增强步骤:缓存静态文件和使用多个负载平衡的应用服务器。
  3. CDN(内容分发网络)的实现
  4. 在服务器级实现浏览器级缓存
  5. 应该启用压缩图像、CSS 和 Javascript 文件。
  6. 您可以将 Akamai 用于节点/页面级缓存,从而提高性能。
  7. 使用图像精灵 (css3embed),如果您正在使用,请避免使用 iframe
  8. 索引数据库表(使用 dbtuner)
  9. 使用添加 Expires 标头
  10. 如果不使用,请禁用 DbLog 模块。
  11. 将资产移至底部
  12. 减少 DNS 查找 希望它会有所帮助。 谢谢

【讨论】:

    【解决方案3】:

    您需要真正快速的托管,我建议将 nginx 与 phpfpm 一起使用。没有任何 var 或 opcode 缓存器,您的性能将令人难以置信。我是我的 vps,我已经将大型 drupal 网站加速到每页 200 毫秒

    当然,您必须审核您的站点是否有慢查询(大视图、许多块或 php 代码)。

    【讨论】:

    • 您好,感谢您的所有回复...我正在使用具有以下配置的亚马逊 EC2 服务器。 1) 100GB EBS 卷 2) 4GB 和双核 它仍然提供缓慢的性能。此外,除了缓存数据以提高站点性能之外,还有其他选择吗,因为缓存会立即在站点上反映更改。我需要确认 Drupal 站点的性能是否取决于数据库的大小?请让我知道这一点。请给我确切的方法,以便我尽快解决这个问题。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多