Magento站点优化方案
Magento 是一个开源电子商务系统,尤其以扩展性高著称,但是很高的扩展性往往是牺牲了速度为代价的,虽然现在magento为速度提升做了很多工作,但是还是没能达到人们对速度的要求。既然如此还是很自然的选择了它,它的速度让很多客户无法接受,最近忙碌于magento性能优化。经过优化后,速度上了几个台阶,觉得能让大部分人都接受了,据本人目测最少快了(4-5倍)。
方法/步骤
1) Magento 自身cache
进入后台: System -> Cache Management– Configuration
– Layouts
– Block HTML output
– Translations
– Collections Data
– EAV types and attributes
– Web Services Configuration
全部选择 并enable,submit即可,缓存开启可以减少程序对数据库的请求,也能减少程序动态生成,所有的站点文件都会存放在缓存文件中,Apache在请求站点的时候会由程序引导去读缓存,而硬盘I/O的速度要比数据库读取速度快很多。而且缓存文件是经过索引的,自然速度更上一个数量级。
2)MySQL Cache Size 设置
ssh连接到服务器,进入/etc/目录,修改my.cnf文件,加入
query_cache_size=128M innodb_buffer_pool_size=64M innodb_additional_mem_pool=16M
这里是数据库缓存,每次用户请求数据库时会生成这个缓存,而当用户直接查询 数据库时,由于sql效率不太高,请求列队造成了延迟,从而影响整站速度,但如果有了缓存,MySQL内部会直接去缓存处读取数据,类似Apache缓 存,这样不但加速数据读取速度,还能减少数据库负载。
3) Enabling Gzipping 启用gzip压缩FTP链接到网站目录,修改.htaccess文件,删除之前的“#”即可打开以下开关
php_flag zlib.output_compression onAddHandler application/x-httpd-php5 .css
这里主要是为了加快站点信息传输速度,所有内容通过gzip压缩后传输要比原本的直接传输速度快得多。
4)开启javascript和css编译
进入后台:
system->Configuration->Developer->Javascript Setting 开启javascript编译合并
Merge javascript files->Yes
Enable prototype deprecation log->Yes
system->Configuration->Developer->CSS Setting 开启css编译合并
Merge CSS File->Yes
5)开启APC缓存机制
APC缓存机制是Linux上做分布式缓存的一个开源软件
由于服务器上默认没有安装,所以需要安装。
打开SSH链接到服务器,在终端执行命令:yum install pcre-devel (这个是pcre的开发包,安装pac必需)
安装完成后再执行命令:pecl install apc(这就是安装apc缓存)
然后再PHP.ini中加入extension=apc.so (将缓存扩展加入php配置文件)
然后修改站点配置文件/app/etc/local.xml
在之间加入
<cache> <backend>apc</backend> <prefix>alphanumeric</prefix> </cache>
其实这么做相当于加了二次缓存,第一次是APC缓存,第二次是Magento自带的缓存系统.一般缓存不会太多,否则反而影响速度,当前状态下,速度算是比较快的了.
(突然发现APC偶尔会导致Apache死掉,原因是APC和Zend optimizer冲突,导致httpd进程被干掉,禁用该扩展,一切正常。)
冲突部分如下:
[Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so ;extension=apc.so
6)设置apache 开启 KeepAlive
KeepAlive = On (KeepAlive 配置指令决定当处理完用户发起的 HTTP 请求后是否立即关闭 TCP 连接,如果 KeepAlive 设置为On,那么用户完成一次访问后,不会立即断开连接,如果还有请求,那么会继续在这一次 TCP 连接中完成,而不用重复建立新的 TCP 连接和关闭TCP 连接,可以提高用户访问速度。);
LoadModule deflate_module modules/mod_deflate.so #开启mod_deflate
7)开启Magento动态编译
进入后台:
System->Tools->Compilation
查看Compilation Status 如果是Disabled,则点击右上角Enable打开,如果是Enabled,则表示动态编译已经开启.
开启动态编译是为了让程序执行的时候直接进入includes/src中读取文件,而不是去app下读取,因为magento使用的是HMVC模式,层级关系越多,速度越慢,直接去src中读取反而更快.
8) 开启Zend Optimizer优化器
magento目录中有php.ini文件,在最后一行加入:
[Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
Zend Optimizer安装目录视情况而定,此处仅做参考
加入Zend Optimizer 可提高PHP运行速度40%-100%
(另:Zend Optimizer与APC高速缓存器存在冲突,二者之可选其一,很蛋疼。。。)
ok 初步的优化已经完成,目测速度提升约4-5倍.
from: http://jingyan.baidu.com/article/ad310e80d509ee1849f49e37.html
Magento站点优化方案的更多相关文章
- 一个网站完整详细的SEO优化方案
根据自己的个人经验完成了这篇文章,希望对SEOer有点帮助,高手直接跳过,请勿喷水... 一个完整的SEO优化方案主要由四个小组组成: 一.前端/页编人员 二.内容编辑人员 三.推广人员 四.数据分析 ...
- magento性能优化
magento性能优化 14个快速加载web页面的技巧: 减少HTTP请求数使用CDN增加过期头信息gzip压缩传输内容将css样式表放在页首将js文件放在页尾不使用css表达式尽量少用内联式的css ...
- Magento速度优化
一.Magento Compiler可以提高 25% 到 50% 速度 Magento的性能一直是大家比较关心的焦点,现在Magento最新的版本 1.3.2.2 增加了 Magento Compil ...
- SEO网站优化方案
学习许多前辈的经验,看到一些比较有价值的seo优化方案,特记录一下,对照自己的操作之路,新人也可借鉴一二,下面是从卢松松博客看到的文章.高手直接跳过,请勿喷水. 一个完整的SEO优化方案主要由四个小组 ...
- mysql大内存高性能优化方案
mysql优化是一个相对来说比较重要的事情了,特别像对mysql读写比较多的网站就显得非常重要了,下面我们来介绍mysql大内存高性能优化方案 8G内存下MySQL的优化 按照下面的设置试试看:key ...
- magento性能优化的教程(非常详细)
Magento是一套专业开源的电子商务系统,Magento设计得非常灵活,具有模块化架构体系和丰富的功能但有朋友会发现此模块用到了会发现非常的缓慢了,那么下面我们来看关于magento性能优化的例子. ...
- DedeCMS数据负载性能优化方案简单几招让你提速N倍
前文介绍了DedeCMS栏目列表页实现完美分页的方法,避免了大部分重复栏目标题对搜索引擎的影响,对SEO更有利.今天,分享一下DedeCMS数据负载性能优化的方法. 接触织梦也有三年多时间了,对它可谓 ...
- 【网站管理6】_一个网站SEO优化方案
首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...
- 一个网站SEO优化方案
首先,前端/页编人员主要负责站内优化,主要从四个方面入手: 第一个,站内结构优化 合理规划站点结构(1.扁平化结构 2.辅助导航.面包屑导航.次导航) 内容页结构设置(最新文章.推荐文章.热门文章.增 ...
随机推荐
- 信号量的使用 ManualResetEvent
线程的等待时可以用这个,不论是线程池还是线程都可以用这个做等待. ManualResetEvent md=new ManualResetEvent(false);//这个false 设置线程等待, t ...
- linux安装apue.3e
(1)下载源代码,可以去官网下载:http://apuebook.com/code3e.html (2)解压缩源代码文件:tar -zxvf src.3e.tar.gz (3) 安装静态链接库:sud ...
- python--函数的返回值、函数参数的使用、名称空间与作用域、函数嵌套、函数对象
今天学习内容有函数的返回值.函数参数的使用.名称空间与作用域.函数嵌套. 下来我们一一查看. 函数的返回值 看几个栗子: def func(x): y=func() print(y) def foo( ...
- font-size-adjust属性定义及用法
font-size-adjust属性定义及用法 在css中,font-size-adjust属性是使用来更好的控制字体大小,当第一个选择的字体不可用时,浏览器使用第二个指定的字体,这可能会导致改变字体 ...
- 06-图2 Saving James Bond - Easy Version(25 分)
This time let us consider the situation in the movie "Live and Let Die" in which James Bon ...
- Echarts mc地图
Echarts mc地图 echarts官网实例: https://gallery.echartsjs.com/editor.html?c=xSNlA5O-zl 效果: 代码: <html> ...
- Openstack组件部署 — 将一个自定义 Service 添加到 Keystone
目录 目录 Keystone 认证流程 让 Keystone 为一个新的项目 Service 提供验证功能 最后 Keystone 认证流程 User 使用凭证(username/password) ...
- shell编程:利用脚本实现nginx的守护自动重启
nginx_daemon.sh #!/bin/bash # this_pid=$$ while true do ps -ef | grep nginx | grep -v grep | grep -v ...
- emacs-w3m查看html帮助手册
emacs-w3m查看html帮助手册 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83949 ...
- html-body标签中相关标签 02
今日主要内容: 列表标签 <ul>.<ol>.<dl> 表格标签 <table> 表单标签 <fom> 一.列表标签 列表标签分为三种. 1 ...