本文转自: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的速度性能优化问题的更多相关文章

  1. MyEclipse6.5的速度性能优化大提速(转)

    MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写.配置.测试以及除错.现在看一下MyEclipse6.5版本的速度性能优化大提速.优化MyEclipse6 ...

  2. php网站速度性能优化(转)

    一个网站的访问打开速度至关重要,特别是首页的打开加载过慢是致命性的,本文介绍关于php网站性能优化方面的实战案例:淘宝首页加载速度优化实践 .想必很多人都已经看到了新版的淘宝首页,它与以往不太一样,这 ...

  3. 前端开发,页面加载速度性能优化,如何提高web页面加载速度

    一个网页访问速度的快慢,  不仅看它服务器的配置,这里除去你空间主机配置很烂的情况以外,我们从网站开发方面来探讨,前端技术需要从哪些方面提高访问的速度,需要用到哪些技术手段. 文件的加载 图标的加载: ...

  4. sqlite3 多线程和锁 ,优化插入速度及性能优化

    一. 是否支持多线程?   SQLite官网上的"Is SQLite threadsafe?"这个问答. 简单来说,从3.3.1版本开始,它就是线程安全的了.而iOS的SQLite ...

  5. Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个"Duang"的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒, ...

  6. Web 性能优化:21 种优化 CSS 和加快网站速度的方法

    这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...

  7. 【转】Web前端性能优化——如何提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

  8. Nginx性能优化功能- Gzip压缩(大幅度提高页面加载速度)

    Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能!  Web网站上的图片,视频等其它多媒体文件以及大文件,因 ...

  9. Web前端性能优化——提高页面加载速度

    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载出来了,一个纠结了半天才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是2-5秒,如果等待超过10秒, ...

随机推荐

  1. 增加显示记录数的label及隐藏refresh按钮

    1. 在UniDBgrid的extEvent属性中写入以下代码: function OnAfterCreate(sender) { var toolbar=sender.getDockedItems( ...

  2. ubuntu下Node.js环境搭建

    Node.js是一个能够在服务器端运行JavaScript的开放源代码.跨平台JavaScript运行环境.Node.js由Node.js基金会持有和维护,并与Linux基金会有合作关系.Node.j ...

  3. LogisticRegression in MLLib (PySpark + numpy+matplotlib可视化)

    参考'LogisticRegression in MLLib' (http://www.cnblogs.com/luweiseu/p/7809521.html) 通过pySpark MLlib训练lo ...

  4. idea创建第一个maven web项目

    一.打开idea,File->New->Project.选择Mavne,勾选Create from archtype,选择org.apache.maven.archtypes:maven- ...

  5. JS文件中的中文在网页引用时显示乱码的简单解决方式

    今天把一个jquery方法从前台cshtml文件转移到单独的js文件中后执行不成功,调试发现if判断中的中文字符串变成了乱码,之前在前台文件中是可以正常显示的,所以判定可能是跟文件的编码方式有关系. ...

  6. [leetcode.com]算法题目 - Sort Colors

    Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...

  7. [JavaScript] Nginx实现跨域设置

    假如跨域请求的接口为:http://xxx.cn/was5/web/search Nginx配置: 在conf/nginx.conf文件中 location / { root html; index ...

  8. Mac下如何安装配置Homebrew

    Last login: Mon Aug 7 13:57:29 on consolexiashenbindeMacBook-Pro:~ xiashenbin$ ruby -e "$(curl ...

  9. Shell - 简明Shell入门06 - 循环语句(Loop)

    示例脚本及注释 #!/bin/bash # for循环 for filename in t1 t2 t3 do touch $filename.txt echo "Create new fi ...

  10. Spring Integration Zip不安全解压(CVE-2018-1261)漏洞复现

    不敢说分析,还是太菜了,多学习. 文章来源: 猎户安全实验室 存在漏洞的源码下载地址:https://github.com/spring-projects/spring-integration-ext ...