返回官网

提高Magento性能的13个提示

狒狒 2017-4-26 技术札记 1144 次


由eBay拥有的Magento是当今最广泛使用的电子商务平台之一,人们选择增长他们的在线业务。 在这篇文章中,我们将讨论如何加快Magento性能的提示,以确保您不会由于高放弃率或不满意的用户体验而失去任何销售。

 当选择电子商务CMS或平台时,您有很多选择。 你可以去WooCommerce,这是WordPress的扩展ShopifyVolusion,和其他一些。 很多企业选择Magento的原因是因为它是一个非常强大的平台,具有高水平的功能和可定制性。 它具有高度的可扩展性,这意味着随着您的扩展,无需更改到

根据BuiltWith,前10万个电子商务网站中有16%使用Magento,如果我们还包括Magento Enterprise,则有22%。 而WooCommerce紧随其后的是12%。

magento marketshare

eCommerce Marketshare Source: BuiltWith

根据Google趋势,Magento的活动仍然很高,因为它在2008年正式发布。然而,WooCommerce和Shopify在过去几年中取得了非常快速和一致的增长,所以看到Magento将会在哪里 未来五年。

google trends magento

Magento vs WooCommerce vs Shopify Source: Google Trends

Speed Up Magento

Magento和WooCommerce都以速度和性能问题而闻名于世。 确保您的电子商务解决方案运行快速是您销售,SEO排名,放弃率和购物者整体用户体验的最重要因素之一。

请按照以下提示,了解如何加快Magento的运行速度,以确保返回购物者和销售。

Speed Up Magento Index

  1. Latest Version
  2. Content Delivery Network
  3. Utilize Caching
  4. Enable Flat Catalog
  5. Image Optimization
  6. Concatenate (merge) CSS and Javascript Files
  7. Enable Magento Compilation
  8. Clean Up Magento Database & Logs
  9. Fewer Extensions & Modules
  10. MySQL Configuration
  11. Update Indexes
  12. PHP Accelerators
  13. Choose Fast Web Hosting

1. Latest Version

非常重要的是,您始终运行最新版本的Magento,因为更新通常包含错误修复和性能改进。 有关升级Magento安装的三个主要步骤。

magento logo

  1. 安装新版本的Magento文件树(您要升级的版本)
  2. 从过时的数据库顶部的文件树中运行安装程序(从而升级数据库)
  3. 将主题和自定义扩展从旧版本移动到当前版本。

 升级Magento比升级WooCommerce或Shopify还要多一些工作,但客户范例有一个关于如何完全 upgrade Magento的深入教程。

 Magento也很好地通知您在邮件收件箱中可用的重要更新。

magento update notices

2. Content Delivery Network

 使用Magento实现Content Delivery Network(CDN)是立即查看减少加载时间的最简单方法之一。 通过这样做,您将确保从全球多个地点提供您的资产(产品图片,JavaScript,CSS),以便更快地将您的购物者交付给客户。

CDN

    KeyCDN与Magento和Magento 2的集成非常简单。可以使用HTTP和HTTPS配置进行设置。

3. Utilize Caching

Magento可以实现多种形式的缓存。 许多人在NGINX + APC + Memcache + Varnish缓存方面取得了巨大的成功。

Magento还附带了一个内置的缓存模块,但第三方解决方案似乎取得了更好的效果。


  1. To enable, navigate to “System” → “Cache Management.”
  2. Select everything and then under the drop-down select “Enable” and click “Submit.”

magento system caching

Browser Caching

您可以利用的另一种缓存形式是浏览器缓存。 请参阅您可以添加到.htaccess文件的以下代码段,例如启用Gzip压缩和添加过期标题。

Gzip Compression

Gzip在服务器级别压缩网页和样式表,然后将其发送到浏览器。

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Expire Headers

Expire标头告诉浏览器是否应该从服务器请求一个文件,或从浏览器的缓存中抓取它。

<ifModule mod_expires.c>
     ExpiresActive On
     ############################################
     ## Add default Expires header
     ## http://developer.yahoo.com/performance/rules.html#expires
     <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
     ExpiresDefault "access plus 1 year"
     </FilesMatch>
     </ifModule>

Page Caching

页面缓存是加速Magento最强大的方法之一。 通过从缓存中提供已经访问过的页面,可以从Web服务器取消加载,这使得它快得多。

Magento有几个页面缓存扩展,我们推荐以下之一:


LiteSpeed还提供了一款名为“LiteMage”的产品,它使用了所谓的“打孔”功能,它指定了一些可以更改的页面的某些区域,其余的从缓存中提供。

litemage hole punching

LiteMage Hole Punching

4. Enable Flat Catalog

 Magento使用EAV model (实体属性值)来存储客户和产品数据。 启用类别和产品的平面目录将产品数据合并到一个表中,从而通过更快地响应MySQL查询来提高性能。 如果您的电子商务商店有超过1000种产品,这将非常有益。

  1. Navigate to “System” → “Configuration” → “Catalog.”
  2. Under “Frontend” change “Use Flat Catalog Category” and “Use Flat Catalog Product” to “Yes.”

magento flat catalog

    1. Click on “Save Config.”
    2. Clear the cache. The recommended way to do this is to delete everything from the /var/cache directory. You can also do it by navigating to “System” → “Cache Management” and clicking on “Flush Cache Storage” which is equivalent to deleting all the cache.

magento flush storage cache

5. Image Optimization

As we mentioned in a previous post on lossless image compression, on average 56 percent of a website’s page weight is made up of images. Optimizing your product images can dramatically increase the speed of your pages as this decreases their download times. You can compress them before uploading them using a tool like PhotoShop or there are a number of extensions you can use to auto-optimize them.正如我们在上一篇文章中提到的lossless image compression一样,平均网站页面重量的56%由图像组成。 优化您的产品图片可以显着提高网页的速度,因为这会降低其下载时间。 在使用PhotoShop之类的工具上传前,您可以对它们进行压缩,也可以使用多种扩展名来自动优化。

 GTMetrix还有一个名为GTspeed.的Magento扩展。 它包括图像优化以及CSS / JS连接和缩小。 看看Magento安装的区别。

gtmetrix improvement magento

6. Concatenate (merge) CSS and Javascript Files

Magento实际上具有内置功能,可以将您的CSS和Javascript文件并入(合并)到一个文件中。 这将减少您的HTTP请求总数,从而有助于加快您的页面的加载。

  1. Navigate to “System” → “Advanced” → “Developer.”
  2. Under “JavaScript Settings” and “CSS Settings” change the dropdown to “Yes” and click on “Save Config.”

magento merge css js files

  1. 组合这些文件后,您将需要清除缓存。 按照我们前面提到的过程。

您也可以通过使用Magento扩展程序(如Minify Js / CSS)来缩小CSS和Javascript,进一步。

7. Enable Magento Compilation

Magento有一个汇编功能,据报道有时会降低50%的性能提升。 默认情况下,每当页面加载时,Magento的应用程序文件都会以特定的顺序进行搜索,这样会导致大量的文件系统读取。 Magento编译器通过将所有这些文件复制到单个包含目录中并缓存更频繁使用的文件来减少这些读取。

  1. Navigate to “System” → “Tools” → “Compilation.”
  2. Click on “Run Compilation Process.”

magento compilation process

提示:安装下一个扩展或升级Magento之前,您必须禁用此功能。

8. Clean Up Magento Database & Logs

默认情况下,Magento将日志记录长达180天。 这可能导致您的数据库增长非常大。 您将其更改为两周(14天),以节省空间。

  1. Navigate to “System” → “Configuration” → “Advanced”→ “System” → “Log.”
  2. Under “Save Log, Days” change it to 14 days, or whatever you prefer.
  3. Click on “Save Config.”

magento logs

您还可以通过清空日志表来手动清理数据库。

  1. In phpMyAdmin select all of the log_% tables and select “Empty” from the drop-down box.
  2. Click on “Yes” when it asks you if you really want to TRUNCATE the tables.

magento truncate log tables

9. Fewer Extensions & Modules

就像使用WordPress和任何其他平台一样,您所运行的HTTP请求越多,扩展程序越多,还有必须加载的其他CSS和Javascript文件。 最好将Magento安装尽可能少的扩展名。

您也可以禁用不使用的模块。


  1. Navigate to “System” → “Configuration” → “Advanced”→ “Advanced” → “Log.”
  2. On the modules you don’t need select “Disable” from the drop-down box and click on “Save Config.”

magento disable modules

10. MySQL Configuration

MySQL在Magento中使用了自己的“query cache”来帮助生成动态页面和内容,同时提高性能。 这些是您的my.cnff的一些推荐设置。 

query_cache_type = 1
query_cache_size = 32M
query_cache_limit=2M

还有一个推荐修改的文件 php.ini.

php_value memory_limit 128M

11. Update Indexes

Magento默认更新每个对象存储上的索引,但在某些情况下需要手动更新。 索引用于加速MySQL查询。

  1. Navigate to “System” → “Index Management.”
  2. Select all of the indexes (or the ones you want to update), choose “Reindex Data” from the dropdown and click “Submit.”

magento reindex data

12. PHP Accelerators

使用PHP加速器是另一种缓存形式。 它们通过将其缓存为编译状态来提高PHP脚本的性能。 您可以使用像APC,ZendOptimizer +或Xcache这样的PHP加速器。.

13.选择快速网络托管

最后但并非最不重要的是,选择可靠和快速的网络托管服务器可能是您尝试改善Magento性能时最重要的决定之一。 我们建议您远离便宜的共享主机,因为它们往往会过度拥挤服务器,您将最终在数百人之间共享资源。 我们建议您使用VPS,如Digital Ocean,Linode或Vultr。 原因是因为您将完全控制您的资源。 如果您不是技术精湛的人员,或者不想通过CLI管理您的服务器,ServerPilot是一个很好的控制面板替代方案,与Magento和上述VPS提供商一起工作


上一篇:Yii2的安装方法
下一篇:px,pt,em换算表

发表评论

Copyright © 2016 DEWEBSTUDIO