magento性能优化

post by rocdk890 / 2011-12-23 10:46 Friday linux技术

 公司的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-vary
7.安装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
当然事无绝对,当你的系统环境需要某个扩展时,可以按照需要开启.

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-90.html

标签: apache mysql php 优化 magento

  1. gravatar 南宁广告公司
    2012-10-24 16:45
    太强悍了吧

评论: