如何配置Magento Cache为获得最佳性能?
有很多博客关于magento 高速缓存,以及如何将其配置正确。 理解 Magento 两级缓存
Magento 默认使用 zend 框架从两级缓存后的端。 在这里你看到怎样的两级缓存我应该工作: (感谢费比诺 Branca)
Magento 后台缓存的解释 文件系统 (var/高速缓存)
默认情况下,Magento 将它的缓存条目存储在文件系统中,您找到 var/高速缓存中的缓存 /。 APC — — 替代 PHP 缓存 (键/值)
APC为替代 PHP 缓存站立,并且是为 PHP 的自由和开放的操作码缓存。它的目标是提供一个自由、 开放和鲁棒的框架来缓存和优化 PHP 的中间代码。
配置(app/etc/local.xml)
<global>
...
<cache>
<backend>apc</backend>
<prefix>mgt_</prefix>
</cache>
...
</global>
Php.ini的设置
apc.enabled = 1
apc.optimization = 0
apc.shm_segments = 1
apc.shm_size = 768M
apc.ttl = 48000
apc.user_ttl = 48000
apc.num_files_hint = 8096
apc.user_entries_hint = 8096
apc.mmap_file_mask = /tmp/apc.XXXXXX
apc.enable_cli = 1
apc.cache_by_default = 1
apc.max_file_size = 10M
apc.include_once_override = 0
Memcached (键/值)
memcached是一个高性能、 分布式内存对象缓存系统,在性质,但拟供在通过减轻数据库负载加速动态 web 应用程序中使用泛型。
优势
非常快速缓存后端。
缺点
Memcached 不支持标记,你仍然有一个缓慢文件系统作为慢级缓存。
要求
-Memcached 服务器
-PHP 扩展为 memcached 的
配置(app/etc/local.xml)
<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>
Redis — — 先进的键-值存储与完整的缓存标记支持
此 magento 缓存后端允许您使用 redis 服务器作为一个中央存储。支持高速缓存标签,我们不需要再用缓慢的级别文件系统缓存中了。
如果有多个 web 服务器的多服务器环境中强烈建议此 magento 缓存后端。
优势
非常快速缓存后的端与完全缓存标记支持,需要无慢级别文件系统缓存
对与以上 500.000 访客高交通 magento 存储测试 / 天,性能是伟大和稳定。
要求:
-必须在服务器上安装 redis
-必须安装 PHP 扩展 phpredis
-必须安装 Magento 扩展"Cm_Cache_Backend_Redis"
安装
1.安装redis (2.4 + 所需)
2.安装phpredis
3.安装 magento 扩展"Cm_Cache_Backend_Redis"
4.编辑您 app/etc/local.xml
<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>
Redis 的有用工具
phpRedisAdmin
phpRedisAdmin 是一个简单的 web 界面来管理 Redis 数据库。
演示:http://dubbelboer.com/phpRedisAdmin/?overview
phpredisadmin
结论
如果您有一个小商店与小的高速缓存大小然后 APC + 文件系统,你会没事的二级缓存。此外,我建议使用固态硬盘,并将缓存目录放入 tmpfs。
如果你有更大的存储区和专用的服务器你应该看看 redis,非常快也是为大高速缓存大小 > 500 MB。Redis 也是你需要一个中央高速缓存的地方多服务器环境中的完美高速缓存解决方案。
(责任编辑:好模板) |