magento是最近很是火爆的开源外贸电商系统,如今国内愈来愈多的公司已经开始使用magento.随着使用人数的增长,magento问题也愈来愈突出。我发现你们最关注的莫过于“速度”,俗话说天下武功,惟快不破。当一个网站速度像蜗牛同样慢,谁都没法忍受,magento因为自己架构问题,速度成为了一个大瓶颈.下面我介绍几个效果比较好,并且简单易用的方法。 node
理解magento的Two-Level Caching
magento默认使用zend framework的二层缓存存储方式。就是说它使用两层结构对cache进行配合管理,一个快的,但大小有限制的结构是一层好比APC或者Memcached ,一个比较慢的结构做为第二层好比file system.每一种存储结构各有利弊,要不一样状况不一样分析使用,APC 和 Memcached 是使用 key/value来存储cache,他们都不支持tag。File system 和Redis 支持tag.
magento二级缓存结构工做流程图示 (Thanks to Fabrizio Branca):
git
如下为magento APC,Memcached,Redis缓存机制配置教程 github
1.文件缓存File system (var/cache)(默认) 缓存
优势:不需安装其余控件,不须要额外配置 服务器
缺点:IO读取,访问量大时下降服务器性能 架构
2.APC – Alternative PHP Cache (Key/Value) app
配置方法: socket
<global> ... <cache> <backend>apc</backend> <prefix>mgt_</prefix> </cache> ... </global>
3.Memcached memcached
配置方法: 性能
<global> ... <cache> <backend>memcached</backend><!-- apc / memcached / empty=file --> <memcached><!-- memcached cache backend related config --> <servers><!-- any number of server nodes can be included --> <server> <host><![CDATA[127.0.0.1]]></host> <port><![CDATA[11211]]></port> <persistent><![CDATA[1]]></persistent> </server> </servers> <compression><![CDATA[0]]></compression> <cache_dir><![CDATA[]]></cache_dir> <hashed_directory_level><![CDATA[]]></hashed_directory_level> <hashed_directory_umask><![CDATA[]]></hashed_directory_umask> <file_name_prefix><![CDATA[]]></file_name_prefix> </memcached> </cache> ... </global>
4.Redis
安装Magento Redis Cache插件 https://github.com/colinmollenhour/Cm_Cache_Backend_Redis
<global>
<cache>
<backend>Cm_Cache_Backend_Redis</backend> <backend_options>
<server>127.0.0.1</server>
<!-- or absolute path to unix socket -->
<port>6379</port>
<persistent></persistent>
<database>0</database>
<password></password>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>1</compress_data>
<compress_tags>1</compress_tags>
<compress_threshold>20480</compress_threshold>
<compression_lib>gzip</compression_lib>
<!-- Supports gzip, lzf and snappy -->
</backend_options>
</cache>
</global>