magento2性能优化
对于Magento 2商店,Magento 2性能优化是使您的工作取得更大成功的重要因素之一。请记住,如果您希望客户花在您网站上的时间段内带来出色的体验,那么就可以使客户与您在一起的时间更长。因此,快速的在线商店是理想的选择,它对您期望的访问者更为友好,而不是网站的性能不佳。只有当您的商店离消费者更近时,增加转化率以及优化收入的过程才变得越来越容易。
根据Benchmark Testing的比较,可以在Magento Enterprise Edition 2.0和Magento Enterprise Edition 1.14.2的现成支持和推荐配置之间进行比较。测试证明,在所有指标和用例中,Magento 2.0被视为比Magento 1.x更大的平台。使用Magento ver.2,您将处理令人惊讶的结果:
- 每小时处理多达39%的订单
- 提供几乎即时的服务器响应时间,用于目录浏览
- 加快购物车服务器响应时间达66%
- 提供最高51%的端到端结帐时间
如今,当人们广泛意识到Magento 2性能时,集成了许多其他技术来支持Magento 2性能优化,例如Varnish,Redis,Nginx甚至是全页缓存解决方案。借助现有工具,开发团队可以轻松地开始功能的解耦,然后通过组件之间的稳定兼容性和可操作性将灵活性升级到新的水平。在服务器响应时间和浏览器端渲染速度上设计更好的界面是一个好主意。毕竟,您将在改善Magento 2性能和增强商店客户体验方面取得重大进展。
如何优化Magento 2的性能
作为正常的电子商务页面,加载产品页面需要3秒钟以上的时间。如果您的客户需要浏览网站上的五个类似页面,您是否觉得很烦?当然,他们永远也不会耐心等待延迟。请关注这篇文章,并找到相关的方法来提高网站的性能。
优化性能的步骤
- 步骤1:启用Flat Categories 和 Products
- 步骤2:合并CSS和JS文件
- 步骤3:CDN(内容传送网络)
- 步骤4:缓存
- 步骤5:图片优化
- 步骤6:启用压缩
- 步骤7:减少服务器响应时间
- 步骤8:Magento更新
首先,让我们在Google PageSpeed Tools中检查分数
步骤1:启用Flat Categories 和 Products
您可能知道,对Magento 2性能的速度产生重大影响的方面之一就是数据库加载的能力。在配置中,启用Flat Catalog可以加快速度。Flat Catalog允许在有任何显示产品的请求时卸载数据库的数量。同时,MySQL查询的复杂性将降低。
转到后端,Stores > Configuration > Catalog > Catalog > Storefront
在Use Flat Catalog Category字段中选择“Yes” 。
步骤2:合并CSS和JS文件
您需要遵循的下一步是合并和最小化CSS和Javascript文件,这意味着使网页尽可能的轻巧,以便快速加载。请将Magento 2置于生产模式。
./bin/magento deploy:mode:set production
Javascript文件
- 去后端
Stores -> Configuration > Advanced > Developer > JavaScript Settings
Merge JavaScript Files
设为是Minify JavaScript Files
设为是
CSS文件
- 去后端
Stores > Configuration > Advanced > Developer > CSS Settings
Merge CSS Files
设为是Minify CSS Files
设为是
完成后,Save Config
刷新缓存以激活更改。
步骤3:内容传送网络
内容分发网络(CDN)是一个特殊的系统,可以连接所有缓存服务器。除了受支持的地理位置邻近性外,CDN还将接管交付的Web内容并加快页面加载。
请按照本指南为Magento 2商店设置CDN。去后端Stores -> Configuration > General > Web > Base URLs (Secure)
步骤4:缓存
在后端,System > Cache Management
。
在这里,您可以找到许多缓存选项来刷新Magento 2缓存。点击Enable
,然后点击Submit
您需要的选项。
步骤5:图片优化
图像是使Magento 2商店的性能更加生动的必要因素。但是,图像大小太大而无法在您的站点上载是超载页面的关键原因之一。因此,压缩图像应在提交任何图像之前完成。您可以将JPEG格式用于产品图像,将PNG或SVG用于布局以及徽标。
步骤6:启用压缩
跟随资源启用Google提供的压缩功能。
让我们从以下方式更改nginx压缩指令:
- gzip_types:gzip_types: text/plain application/x-javascript text/javascript text/xml text/css image/x-icon image/bmp image/png image/gif; to
- gzip_types:*;
步骤7:减少服务器响应时间
通过Magento 2内置缓存功能,您的站点的响应时间相当不错,大约为0.5秒。但这不是Google期望的理想时间。因此,Magento 2 本身通过Varnish 支持全页缓存。让我们将Varnish设置为在0.1-0.2s左右获得第一个字节。
转到后端,将Stores > Configuration > Advanced > System > Full Page Cache
缓存应用程序转移到Varish Cache。
打开Varnish Configuration部分,完成设置:
步骤8:Magento更新
记得更新您的Magento 2商店。360Magento团队将尽力帮助您优化站点性能。
优化Magento 2商店后的结果
性能工具包(可选)
安装
jMeter:
–转到http://jmeter.apache.org/download_jmeter.cgi并在“二进制”部分下载jMeter(请注意,需要Java 6或更高版本)–解压缩存档
插件(仅当您要使用其他报告(例如图形)时):
–转到http://jmeter-plugins.org/downloads/all/并下载JMeterPlugins-Standard和JMeterPlugins-Extras
–将它们解压缩到jMeter实例的相应ext目录。
–现在可以通过GUI添加其他报告。
用法
在首次运行jMeter测试之前,您需要首先使用bin / magento setup:performance:generate-fixtures命令生成测试数据。
通过控制台运行
Scenario can accept parameters that are described bellow in format <parameter_name:default_value>: <host:localhost> URL component 'host' of application being tested (URL or IP). Default is 'localhost'. <base_path:/> Base path for tested site. Default is '/'. <report_save_path:./> Path where reports will be saved. Reports will be saved in current working directory by default. Default is './'. <ramp_period:300> Ramp period (seconds). Period the request will be distributed within. Default is '300'. <orders:0> Number of orders in the period specified in the current allocation. If <orders> is specified, the <users> parameter will be recalculated. Default is '0'. <users:100> Number of concurrent users. Recommended amount is 100. Minimal amount is 10. Default is '100'. <view_product_add_to_cart_percent:62/> Percentage of users that will only reach the add to cart stage. Default is '62'. <view_catalog_percent:30/> Percentage of users that will only reach the view catalog stage. Default is '30'. <guest_checkout_percent:4/> Percentage of users that will reach the guest checkout stage. Default is '4'. <customer_checkout_percent:4/> Percentage of users that will reach the (logged-in) customer checkout stage. Default is '4'. <loops:1/> Number of loops to run. Default is '1'. <admin_path:admin/> Admin backend path. Default is 'admin'. <admin-user:admin/> Admin backend user. Default is 'admin'. <admin-password:123123q/> Admin backend password. Default is '123123q'. <think_time_deviation:1000> Deviation (ms) for "think time" emulation. Default is '1000'. <think_time_delay_offset:2000> Constant delay offset (ms) for "think time" emulation. Default is '2000'. Necessary parameters must be passed to [command line](https://www.360magento.com/devdocs/magento-2-command-line-interface-cli.html) with "J" prefix: "-J<parameter_name>=<parameter_value>"
例:
> cd /directory_of_jMeter/bin/ > jmeter -n -t /path_to_benchmark_file/benchmark.jmx -Jhost=magento2.dev -Jbase_path=/ -Jusers=100 -Jramp_period=300 -Jreport_save_path=./
通过GUI运行
-
打开jMeter / bin目录并运行jmeter.bat
-
单击菜单中的文件->打开(Ctrl + O)并选择文件;或者在打开的GUI中拖放Benchmark.jmx文件。
在第一个标签“测试工具包”上,您可以更改“用户定义的变量”,如下所示 <host>, <users>, <ramp_period>, <orders>, <report_save_path>.
要运行脚本,请单击“开始”(顶部菜单中的绿色箭头)。
运行结果(报告类型)
通过GUI运行后,您可以在左侧面板中查看工作结果。选择相应的报告。
通过控制台运行脚本后,将在以下路径中生成报告: <report_save_path>.
线程数
jMeter脚本包含五个线程。安装程序线程和四个用户线程。
线程之间的百分比比率如下:
浏览,将商品添加到购物车和放弃购物车(报表中的BrowsAddToCart后缀)-62%
仅浏览(报表中的BrowsAddToCart后缀)-30%
浏览,将项目添加到购物车并以访客身份签出(报告中的GuestChkt后缀)-4%
浏览,将商品添加到购物车并以注册客户的身份结帐(报告中的CustomerChkt后缀)-4%
关于报告:
总结报告。
报告包含有关线程的汇总信息。
报告文件名为 {report_save_path}/summary-report.log
细节 http://jmeter.apache.org/usermanual/component_reference.html#Summary_Report
详细的网址报告。
报告包含有关URL的信息。
请注意,URL仅显示在生成的报告文件中(在GUI中,URL不显示)。
报告文件的名称为{report_save_path}/detailed-urls-report.log
(可以以csv格式打开)。细节http://jmeter.apache.org/usermanual/component_reference.html#View_Results_in_Table
关于其他类型请继续阅读 http://jmeter.apache.org/usermanual/component_reference.html