提高Magento 运行速度
Magento 提速总结:
1
Magento 的自己身提速
1.1
后台 Magento cache 的开启, cache 开启,无需注解
1.2
后天 Magento Compiler 的开启,如下注解:
1.3
Magento 自身结构的优化,如 block ,模块的关闭,图片的压缩,模板的注释的清除!
1.4
安装一些缓存插件,譬如:。。
1.5
后台开启 js , css 合并一个文件!
2
安装辅助性工具:
2.1
Gzip 的开启
2.2
Zend Optimizer 的安装。
2.3
Php 加速器
如APC ,XCACHE,eAccelerator
3 环境的优化:
3.1
Mysql 的设置
3.2
Php 模块的开启
3.3
apache 的 设置。对一些功能性的开启,如 gzip 。压缩。
3.4
magento 的var 目录挂载到内存.
关键性还是magento 自身结构的优化!!!!!
优化magento 代码,效果显著的步骤,不过前提是你非常熟悉magento ,彻底删除不用的模块,关闭没用的 block ,清除无效,无用的xml (解析xml 非常昂贵的),在一个页面中尽量不要大量调用magento 的image resize 功能,非常消耗内存!!!!
注解:
1.2
Magento Compiler 可以提高 25% 到 50% 速度
Magento 的性能一直是大家比较关心的焦点,现在Magento 最新的版本 1.3.2.2 增加了 Magento Compiler 模块,根据官方的资料,该模块可以提高 25% 到 50% 的性能.
我也在测试网站上激活该模块,感觉效果还是不错,目前还是beta 版本,不过还是推荐使用Magento 的朋友试试。
该模块是从版本 1.3.2.1 开始引入的,如果你的Magento 网站已经是1.3.2.1 或者更高的版本,该模块已经预装好了,可以直接从后台激活该模块:
System -> Tools -> Compilation (Beta)
然后选 Run Compilation Process, 大约数分钟之后会出现 Compilation Successfully finished 就可以了。如果使用有问题,只需在同一页面下按 Disable 按钮就可以了。
对于使用1.3.2 .1 之前的版本的朋友,需要升级到最新版本(目前是1.3.2.2 )然后再安装该模块,我试过在低于1.3.2.1 的Magento 网站中安装,安装后在 Tools 中找不到Compilation ,所以必须升级到1.3.2.1 或更新的版本才能使用该模块,模块URL :
http://www.magentocommerce.com/extension/1359/magento-compiler
可以用下面 Extension Key 通过Magento Connect 来安装:
magento-core/Mage_Compiler
1.3
站点优化
magento 的网站实在是太慢了,想了好多办法,参考了好多资料,做了很多测试,总结一下大概的步骤:
1、压缩js,css 代码,如果有必要把所有的css,js 分别综合到一个文件中,并压缩,缓存
2、清除magento 模板中不必要的注释,为所使用到的图片瘦身
3、优化magento 代码,这个步骤工作量大,但可能是效果显著的步骤,不过前提是你非常熟悉magento ,彻底删除不用的模块,关闭没用的 block ,清除无效,无用的xml (解析xml 非常昂贵的),在一个页面中尽量不要大量调用magento 的image resize 功能,非常消耗内存,除非你自己优化代码。
2.1
大家可能都发现了,刚装上MAGENTO 的时候,MAGENTO 是比乌龟还慢的一个系统。如何解决呢?其实很多的主机都已经默认安装一个组件:GZIP 。 我们就是要通过修改它来提高MAGENTO 的运行速度。
关于能提高多少的问题?大家可以在修改之前去mod_gzip tester 看看你MAGENTO 网站的速度,然后在修改之后再去看看。。。
现在我们为MAGENTO 开启GZIP 。比较方便的方法是修改根目录下.htaccess 文件。我们只需要去掉一些注释就可以了。
在根目录.htaccess 找到和以下代码相似的代码,并且把代码修改得和下面一模一样。( 去掉前面的# 符号。)
############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4/.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch /bMSIE !no-gzip !gzip-only-text/html
# Don’t compress images
SetEnvIfNoCase Request_URI /.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
另外还有下面这一段:
############################################
## enable resulting html compression
php_flag zlib.output_compression on
Zend Optimizer
Zend Optimizer 用优化代码的方法来提高PHP 4.0 应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler) 产生的代码进行优化。一般情况下,执行使用Zend Optimizer 的PHP 程序比不使用的要快40% 到100% 。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。 更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer ,就等于提高了电子商务的盈利能力。Zend Optimizer 能给PHP 用户带来很多益处,特别是那些运营网站的人。快速运行PHP 程序可以显著降低服务器的CPU 负载,并可以减少一半的反应时 间,也就是从访问者点击链接到服务器开始读取页面之间的时间。
如APC ,XCACHE,eAccelerator ,安装方法参考相关的网站
3.1
mysql 配置优化,充分发挥你的硬件资源,下面的数值要根据你的配置调整
key_buffer_size = 512M
max_allowed_packet = 64M
table_cache = 512
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 64M
tmp_table_size = 128M
query_cache_size = 96M
query_cache_type = 1
thread_cache_size = 8
max_connections = 400
wait_timeout = 300
3.4
将magento 的var 目录挂载到内存 中,加快读取速度,如
mount -t tmpfs -o size=100M,mode=0777 tmpfs var
********************************************************
然而归于根本,最大的优化来自于对模板,对代码,对block 的优化。
http://www.magentocommerce.com/blog/comments/performance-is-key-notes-on-magentos-performance/
http://www.magentocommerce.com/blog/comments/understanding-magento-scalability-and-performance-1/