Drupal 性能优化[翻译自《Pro Drupal 7 Development》]

  • drupal 调整

    1. 禁用不需要的模块,特别是“Devel”
    2. 匿名访问页面缓存:“Configuration”->”Performance” 中设置
    3. 压缩CSS,JS文件节省带宽: “Configuration”->”Performance” 中设置
    4. 启用syslog模块: syslog这个模块是Drupal的一个核心模块,默认是关闭的,它可以使用PHP的syslog()函数调用watchdog()给操作系统。这一操作消除了数据库记录模块的插入操作。
    5. 运行cron: cron是很容易被忽略的,其可能的结果是让数据库填满了各种log消息,stale cache entries和其他的统计信息。越早配置cron越好。其具体配置操作在Drupal的INSTALL.txt中写的很清楚。

  • 修改settings.php文件
    1. 修改session table: Drupal将用户session保存在数据库中,而不是在文件中。这样做虽然建立起了跨平台用户协作机制,但同时增加了数据库管理每个用户session信息的压力。如果网站上用户一多,那么数据库中的这个session table将变得很大。在PHP中可以设置session的生命周期:

      ini_set('session.gc_maxlifetime', 200000); // 55 hours (in seconds)

      另外,Drupal的“垃圾”回收系统默认设置是两天,这就是说,如果一个用户两天没有登录,他/她的session就会被消除。因此如果session table增加很快,就需要降低回收频率了。

      ini_set('session.gc_maxlifetime', 86400); // 24 hours (in seconds)
      ini_set('session.cache_expire', 1440); // 24 hours (in minutes)

      其中要注意在调整session.gc_maxlifetime时,最好值与session.cache_expire相同,后者控制缓存会话页面的时间,session.cache_expire的单位是分钟。
    2. 认证用户优化:由于Drupal内部针对匿名用户的缓存页面,而且匿名用户无需与Drupal的核心内容交互,因此针对认证用户,我们可以做下面的配置来利用匿名用户的系统优势。首先可以设置在用户关闭浏览器后就直接登出,这个需要调整settings.php文件中的cookie lifetime:

      ini_set('session.cookie_lifetime', 86400); // 24 hours (in seconds)

      上述操作将lifetime缩减为一天,下面设置在浏览器关闭后直接登出:

      ini_set('session.cookie_lifetime', 0); //在settings.php中的默认值是2,000,000秒,超过3个礼拜。

  • 数据库优化
    Drupal 很依赖于数据库,尤其是针对认证用户和模块。而众所周知数据库是常见的影响系统性能的瓶颈所在。下面是一些优化Drupal数据库的常用策略:
    1. 启用数据库缓存:以MySQL为例,要启用缓存,将下面的指令添加到你的MySQL option文件中,该文件命名为my.cnf,用于为MySQL服务器设定变量和行为(see http://dev.mysql.com/doc/refman/5.1/en/option-files.html)。在下面的例子中,我们设置64MB的查询缓存:

      [mysqld]
      query_cache_size=64M

      可以利用MySQL中的SHOW VARIABLES命令查看现在查询缓存的大小:

      mysql>SHOW VARIABLES LIKE 'query_cache%';
      | query_cache_size | 67108864
      | query_cache_type | ON

      缓存大小究竟设置为多大需要多多实验,太小的话数据库查询太频繁,太大的话在缓存中搜索要花更多时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值