首页 > 代码库 > Drupal commerce 性能优化

Drupal commerce 性能优化

从开始的时候打开一个页面需要超过9秒的时间到现在可以在3秒内打开,给自己带来了很多欣慰。

开始的时候是认为server性能不足,所以讲aliyun服务器从1核升级到了4核,但是发现升级之后和升级之前是一样的效果。

既然不是服务器的问题(实际上这样的配置对php网站来说已经比较高端了),而又有那么多大的网站运行,肯定是有可以解决的方法。

之后是漫长的搜索解决的方法。

发现很多人一直在抱怨drupal7性能的问题。

下面是在参考别人的基础上做的调试:

  1. 优化数据库。Mysql使用的是MyISAM引擎,D7使用的是Innodb引擎。修改my.cnf
    key_buffer              = 1024M # 内存的四分之一
    max_allowed_packet      = 32M
    thread_stack            = 192K
    thread_cache_size       = 8
    # This replaces the startup script and checks MyISAM tables if needed
    # the first time they are touched
    myisam-recover         = BACKUP
    #max_connections        = 100
    table_cache            = 1024
    sort_buffer_size = 256M
    myisam_sort_buffer_size = 256M
    tmp_table_size = 480M
    delay_key_write = 1
    wait_timeout = 60

     

    query_cache_limit       = 32M  
    query_cache_size        = 512M  

     

  2. 安装PHP APC pecl install apc
  3. 安装Drupal缓存模块: drush dl boost entitycache filecache; drush en boost entitycache filecache
  4. 卸载不必要的模块:Drupalcommerce默认用了facebook,twitter,google的social功能,而在中国无法打开的这些网站,所以可以都关闭: drush dis widget_services commerce_kickstart_social service_links
  5. MySQL innodb 设置
    重要的设置:
    innodb_buffer_pool_size 70-80% 内存的大小.
    innodb_log_file_size – 100M
    innodb_log_buffer_size=1M
    innodb_flush_log_at_trx_commit=2 
    innodb_thread_concurrency=8

     经过以上步骤的调试,同时对页面的css和js进行压缩处理之后,性能提高了7倍以上。之前打开一个页面需要10s以上,现在平均只需要1.7s。