http://42.121.105.168/shop从开始的时候打开一个页面需要超过9秒的时间到现在可以在3秒内打开,给自己带来了很多欣慰。
开始的时候是认为server性能不足,所以讲aliyun服务器从1核升级到了4核,但是发现升级之后和升级之前是一样的效果。
既然不是服务器的问题(实际上这样的配置对php网站来说已经比较高端了),而又有那么多大的网站运行,肯定是有可以解决的方法。
之后是漫长的搜索解决的方法。
发现很多人一直在抱怨drupal7性能的问题。
下面是在参考别人的基础上做的调试:
- http://42.121.105.168/shop优化数据库。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
- 安装PHP APC pecl install apc
- 安装Drupal缓存模块: drush dl boost entitycache filecache; drush en boost entitycache filecache
- 卸载不必要的模块:Drupalcommerce默认用了facebook,twitter,google的social功能,而在中国无法打开的这些网站,所以可以都关闭: drush dis widget_services commerce_kickstart_social service_links
- 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。
- http://42.121.105.168/shop优化数据库。Mysql使用的是MyISAM引擎,D7使用的是Innodb引擎。修改my.cnf