magento性能优化
公司的magento网站实在是太慢了,想了好多办法,参考了好多资料,做了很多测试,总结一下大概的步骤如下:
1.压缩js,css代码,如果有必要把所有的css,js分别综合到一个文件中,并压缩缓存.
2.清除magento模板中不必要的注释,为所使用到的图片瘦身.
3.优化magento代码,这个步骤工作量大,但可能是效果显著的步骤,不过前提是你非常熟悉magento,彻底删除不用的模块,关闭没用的block, 清除无效,无用的xml(解析xml非常昂贵的),在一个页面中尽量不要大量调用magento的image resize功能,非常消耗内存,除非你自己优化代码。
4.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
5.将magento的var目录挂载到内存中,加快读取速度(这个特别推授)
mount -t tmpfs -o size=100M,mode=0777 tmpfs var
6.修改 .htaccess mod_deflate 配置
php_flag zlib.output_compression on AddHandler application/x-httpd-php5 .css # Insert filter on all content SetOutputFilter DEFLATE # Insert filter on selected content types only #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript # 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-vary7.安装php加速器,如APC,XCACHE,eAccelerator,具体配置可以在网上找参考,这里就不提供给大家了.
8.magento在apache中所需要的模块:
mod_authz_host.so
mod_expires.so
mod_deflate.so
mod_mime.so
mod_dir.so
mod_rewrite.so 这个模块很重要,当设置Magento地址重写时,要用到
mod_log_config.so
libphp5.so 如果你用的是php4,那就得改成libphp4.so
9.magento标准的php配置
extension=bcmath.so
extension=curl.so
extension=dom.so
extension=gd.so
extension=mcrypt.so
extension=memcache.so
extension=mhash.so
extension=pdo.so
extension=pdo_mysql.so
extension=mysql.so
extension=xmlwriter.so
下面的一些扩展并不需要开启, 我们可以把它们关闭
;;extension=dbase.so
;;extension=json.so
;;extension=mysqli.so
;;extension=pdo_sqlite.so
;;extension=sqlite.so
;;extension=wddx.so
;;extension=smlreader.so
;;extension=xsl.so
;;extesnion=zip.so
当然事无绝对,当你的系统环境需要某个扩展时,可以按照需要开启.
评论: