[转]论magento1和magento2的速度性能优化问题
本文转自:http://www.360magento.com/blog/magento-speed-up/
magento从2007年发展至今,也经历了十余年的磨练,如今也迎来了magento的换代产品magento2,无论从安全性,稳定性还是速度,其实都已经做的很好了。但现如今还有客户说magento速度很慢,那这类客户肯定是道听途说,自己根本就还没有搭建一个magento网站,网上说magento慢的帖子那都是10年左右的老帖子了。
当然了,无论是magento 1还是magento 2,它可扩展性,灵活性,系统安全性和可靠性方面处于领先地位,但是所有Magento的高级功能和特性都是以拥有大量文件和大型数据库为代价的,也正因此,从理论上来说要比其他平台速度相对慢点,微不足道的。也可以从以下方面做一些优化。
一、服务器的选择
迈向优化Magento性能的第一步应该是找到一个适合的好的Magento服务器,magento对服务器的要求一向很高,所以我建议选择独立云服务器,服务器内部优化配置自己掌控,当然这也需要专业的技术做支撑。如果有成本的限制,比如刚创业的小商家,可以找一家可靠的共享托管服务器,针对magento优化的共享服务器。我可以推荐一家专门针对magento优化的服务器托管商SiteGround。推荐选择GoGeek套餐。这样后期如果做的好可以升级独立云服务器,节省成本。
二、数据库服务器
大部分网站直接把网站程序服务器和数据库服务器共用,当然这在数据量小,请求量少的情况下还是可行的,一旦数据量和数据请求量上去了,那网站的速度是非常慢的。如果遇到这种情况,我的建议是直接上RDS,不懂的可以搜索RDS,可以称之为云数据库。前不久接手了一个二手项目,用的是magento2.1.5,我还记得3月份开发的一个2.1.5版本的项目,那个痛苦啊简直不敢想象,无论是线上还是本地刷新一个页面比蜗牛还慢,而接手的这个项目竟然秒开,原来一看配置是用了RDS,这就是花了钱的区别啊。当然现在的magento1.9和magento2.1.6以上版本都还是非常快的。
三、CDN加速
我们打开浏览器按"F12"选择"Network",然后运行网站,我们会看到加载这个网站的静态文件所需的时间(比如:图片,js,css),插一句,如果有的图片加载时间过长,可以用工具适当压缩图片。当然,无论你的网站有大型图片还是居多的css和js文件,都可以通过cdn来加载,这意味着你的图片和css,js文件将从另外一台服务器上加载,并且可以在加载页面时防止服务器上出现不必要的压力。从而提高加载速度。
以上三点都是需要Money,当然这些Money花的是值得的,而且是物美价廉。下面我简单介绍下通过magento后台设置来进一步优化速度。
1.进入到System > Configuration > Catalog > FrontEnd,在 ‘Use Flat Catalog Category’ 和 ‘Use Flat Catalog Product’.选择“Yes”。我解释下,magento数据库采用EAV模型,说简单点就是要想查询一个数据,得从好几个表里面联合查询才能得到你想要的数据,而上面设置后,那么我们的程序在加载分类和产品相关的数据时就直接单表查询,单表查询和多表查询哪个速度快就不用我说了吧。
2.禁用日志记录, 进入到System -> Configuration -> Advanced -> Developer -> Log Settings 来禁用
3.另一个重要的步骤是定期清理cron和日志。进入到System > Configuration > Advanced > System -> Log Cleaning,在这里你应该启用日志清理,并设置尽可能最小的时间。
4. 合并css和js文件,进入到System > Configuration > Developer进行设置.合并意味着减少请求,从而提升速度。在此提醒,如果是经过二次开发的网站谨慎操作,合并之后可能会出现问题,我建议在具有丰富经验的magento开发人员的指导下进行。
5.运行预编译,进入到 System > Tools > Compilation,运行预编译,这将提升网站加载速度高达50%以上。但因为一些用户操作不当导致网站无法访问,我之前写过一篇文章,解决magento开启Compilation预编译网站无法访问
6.最后一步就是开启缓存,进入到System > Cache Management
以上六点为magento 1的后台操作指导,magento2方法一样,只是路径不同,我就不再赘述。magento2更多的时候需要去运行命令,这就需要更专业的人士啦。magento2对技术的要求性还是很高的。另外magento 2如果切换到生产环境模式速度也是非常快的。在网站的根目录下再行如下命令:
php bin/magento deploy:mode:set production
最后补充一点,能花钱解决的就花钱解决,自己去折腾肯定是浪费时间的,最后还解决不好,时间就是金钱,找专业的人做专业的事才是最划算的
[转]论magento1和magento2的速度性能优化问题的更多相关文章
- MyEclipse6.5的速度性能优化大提速(转)
MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写.配置.测试以及除错.现在看一下MyEclipse6.5版本的速度性能优化大提速.优化MyEclipse6 ...
- php网站速度性能优化(转)
一个网站的访问打开速度至关重要,特别是首页的打开加载过慢是致命性的,本文介绍关于php网站性能优化方面的实战案例:淘宝首页加载速度优化实践 .想必很多人都已经看到了新版的淘宝首页,它与以往不太一样,这 ...
- 前端开发,页面加载速度性能优化,如何提高web页面加载速度
一个网页访问速度的快慢, 不仅看它服务器的配置,这里除去你空间主机配置很烂的情况以外,我们从网站开发方面来探讨,前端技术需要从哪些方面提高访问的速度,需要用到哪些技术手段. 文件的加载 图标的加载: ...
- sqlite3 多线程和锁 ,优化插入速度及性能优化
一. 是否支持多线程? SQLite官网上的"Is SQLite threadsafe?"这个问答. 简单来说,从3.3.1版本开始,它就是线程安全的了.而iOS的SQLite ...
- Web前端性能优化——如何提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...
- Web 性能优化:21 种优化 CSS 和加快网站速度的方法
这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...
- 【转】Web前端性能优化——如何提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...
- Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)
Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能! Web网站上的图片,视频等其它多媒体文件以及大文件,因 ...
- Web前端性能优化——提高页面加载速度
前言: 在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...
随机推荐
- Android-Kotlin简单计算器功能
上一篇博客 Android-Kotlin-配置/入门 配置好了 AndroidStudio Kotlin 的环境: 选择包名,然后右键: 选择Class类型,会有class: 创建CounterCla ...
- DataTable 快速导入数据库——百万条数据只需几秒
public void InsertTable(DataTable dt, string TabelName, DataColumnCollection dtColum) { string str = ...
- 【VB.NET】利用纯真IP数据库查询IP地址及信息
几年前从某个博客抄来的,已经忘记原地址了,如果需要C#版的,可以在博客园搜到吧.我因为自己用,所以转换为了VBNET代码,而且也放置了很久,今天无意间翻出来,就分享给大家吧. 首先,先下载 纯真数据库 ...
- StriveEngine-UDP
文章中的StriveEngine.dll版本为V3.9.0.0,源码下载请到 这里 UDP比TCP通信,就相对简单多了 先上代码,建立2个控制台程序,分别为SEUDP1,SEUDP2,其中SEUDP1 ...
- MVC5控制器传值的三种方式(ViewData,ViewBag,TempData),刚刚学习MVC5的新手,希望各位大神多多指教
mvc传值的三种方式:1.ViewData 在使用过程中需要类型转换 例子: ViewData["MyTitle"]="ViewData传值"; 引用: @Vi ...
- 清理MVC4 Internaet 项目模板清理
新建项目时选择空的MVC项目 是没有Bundle 引用的非常痛苦,但是如果选择Internet模板 MVC4的模板会帮你添加一堆的JQuery 引用 打开NuGet Console 执行以下指令能帮 ...
- Could not find installable ISAM
程序中去读EXCEL文档,以前一直参考<Asp.net读取Excel文件 2>http://www.cnblogs.com/insus/archive/2011/05/05/2037808 ...
- 为什么主流的 App 看起来都差不多?这可能是件好事
欢迎访问网易云社区,了解更多网易技术产品运营经验. 现在设计师可以把精力都花在真正有意义的地方了. 打开Instagram.Airbnb.Apple Music.Twitter.Dropbox或Lyf ...
- [Swift]优先队列PriorityQueue(自定义数据结构)
优先队列[priority queue] 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除. 优先队列特点:在优先队列中,元素被赋予优先级. 当访问元素时,具有最高优先级的元素最先 ...
- C#6.0语言规范(十九) 文档注释
C#为程序员提供了一种机制,可以使用包含XML文本的特殊注释语法来记录他们的代码.在源代码文件中,具有特定形式的注释可用于指示工具从这些注释和它们之前的源代码元素生成XML.使用这种语法的注释称为文档 ...