[转]论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秒, ...
随机推荐
- E - Tears of Drowned
Description Tia Dalma: Come. What service may I do you? You know I demand payment. Jack: I brought p ...
- 分形之列维(levy)曲线
莱维C形曲线(Lévy C curve)是个自我相似的分形,最先由保罗·皮埃尔·莱维在1938年的论文Plane or Space Curves and Surfaces Consisting of ...
- 使用EF操作Oracle数据库小计
1.建表 CREATE TABLE item.ORDERS( ORDERID ) CONSTRAINT PK_ORDERS PRIMARY KEY, ORDERNO ), STOREID ), STO ...
- .NET Entity Framework (with Oracle ODP.NET) -Code First
上一篇文章介绍了.NET Entity Framework ,并演示了Model First模式,本文将继续讨论 Code First 模式的实现. 一.摘要 1.目标 本文验证了通过Oracle D ...
- Webapi文件上传
1/ multipart/form-data方式 using Abp.UI; using Abp.Web.Models; using System; using System.Collections ...
- 【Spark算子】:reduceByKey、groupByKey和combineByKey
在spark中,reduceByKey.groupByKey和combineByKey这三种算子用的较多,结合使用过程中的体会简单总结: 我的代码实践:https://github.com/wwcom ...
- CSV Data Set Config设置
Jmeter参数化常用的两种方法: 1.使用函数助手 2.CSV Data Set Config 本章主要讲解CSV Data Set Config设置 1.Filename:文件名,指保存信息的文件 ...
- redis集成相关工具类
package cn.yiyuan.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; i ...
- 04-01 Java switch、for、while、do while语句,循环嵌套,跳转语句break、continue、return
语句 1:switch语句(掌握) (1)格式: switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n ...
- odoo开发笔记 -- 用户配置界面如何增加模块访问权限
在odoo设置界面,点击用户,进入用户配置界面,会看到: 访问权 | 个人资料菜单 在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里, 那么,我们自己开发的模块如何显示在这块呢,从 ...