如何使Magento 2开发站点更快?


18

我关闭了所有缓存,并将部署模式设置为开发。因此,与Magento 1.x站点相比,我在所有计算机上的Magento 2开发站点都非常慢。

Magento 2正常吗?

为了使Magento 2开发站点具有最高速度,我们必须使用哪些服务器和Magento配置?

更新:

在Mac上进行本地开发时,由于存在配置问题,因此我可以通过禁用opcache来加速站点。


安装Redis替换后端文件缓存。并为php会话使用memcache。启用缓存并禁用在执行特定任务时不希望启用的缓存部分。如果仅设置主题样式,请使用grunt watch并启用所有缓存。如何配置在magento 2官方文档中。
晦涩的

除非您有100k +产品,否则redis没用
Claudiu Creanga

我也在本地窗口PC上开发缓慢。根据您的经验,以Ubuntu或Linux Mint开始本地开发对我来说会更好一些?您推荐什么配置?
2016年

Answers:


12

您可以使用这个无聊的盒子https://github.com/EcomDev/fast-hypernode

我用它,而且速度很快。在禁用了缓存和xdebug的开发人员模式下,页面刷新大约需要2-3秒。

或者,您可以使用magestead提供的无业游民框:http : //www.magestead.com/

  • 使用php7。
  • 使用gulp生成CSS和js(比grunt更快)。您可以尝试通过snowdog(在2分钟内准备就绪)构建的配置:https : //github.com/SnowdogApps/magento2-frontools
  • 如果进行测试,请使用3gb的ram。
  • 仅禁用所需的缓存。如果您正在使用前端,则无需禁用任何缓存。
  • 使用livereload或browsersync进行前端开发,这样就无需重新加载页面。

了解magento命令的作用以及何时运行它们。如果您正在跑步很多,setup:static-content:deploy那么看到这些点就会生气。Grunt或gulp不知道@magento_import,所以这就是为什么当您添加或删除文件时需要运行dev:source-theme:deploy,它比上述文件快得多。

没有改善的地方:

除非您有超过10万种产品,否则redis不会有任何区别,因此请不要打扰(http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance-比较不同的环境(pdf)。

当前,由于magento2如何使用requirejs(js的2mb),http2也不起作用。


我也在本地窗口PC上开发缓慢。根据您的经验,以Ubuntu或Linux Mint开始本地开发对我来说会更好一些?您推荐什么配置?
2016年

@Jai对不起,没有与Mint的经验。我使用mac和ubuntu。
克劳迪

先生...我可以期望magento 2的良好开发速度...如果我在Windows 7(i5 + 12Gb Ram)上使用Vagrant,还是我应该使用此系统配置进入ubuntu,因为窗口令人沮丧的开发缓慢
Jai

1
@Jai Windows没问题。您应该在开发人员模式下刷新2-3秒,并打开一些缓存。检查您的计算机上的这个github.com/alankent/docker-gsd有多快,并以该速度为目标。对于无业游民,我建议hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga

感谢您的建议。我将执行您的建议,与Windows相比,您认为在Ubuntu和Mac中可以快速完成magento开发吗?
2016年

7

根据您计划进行的开发类型,您可能会发现切换到客户端CSS编译可显着提高开发站点的速度

商店>配置>高级>开发人员>前端开发工作流程

切换到客户端较少的编译


此设置似乎已在Magento 2.2中移动。有关现在在哪里找到它的任何指针?
fritzmg

1
docs.magento.com/m2/ee/user_guide/system/…我将检查您的网站是否处于开发人员模式,因为它不可见
-bjornredemption

是的,它不是处于开发人员模式,thx :)
fritzmg

0

另外,请确保在开发人员模式下,JS / CSS的合并实际上会影响性能,测试表明速度可以从20-30秒降低到2-3秒。

在开发人员模式下执行此操作似乎很明显,但是如果遗漏会导致非常缓慢的环境,因为我将生产环境复制下来进行开发并错过了一段时间。

更新资料

这似乎在2.1.7至2.1.9中影响了我,并且似乎在Magento 2.2.X中已解决。


此信息似乎有误。合并时速度不应降低
ladle3000 '18


@ ladle3000同样,您也不会真的想在开发中进行合并和精简,这只会使您更加难以查看需要更改CSS / JS修改的文件。
哈里

我明白你的观点。我认为也许是因为我直接迁移到2.2,所以我从未遇到过。您使用的是什么版本?
ladle3000

现在可以在2.2.0中修复此问题,但这似乎是一个额外的步骤。我今天早上尝试测试,但是当我在开发人员模式下启用时,它似乎仍然被禁用了吗?我现在在2.2.3上
哈里(Harri)'18

0

禁用以下高速缓存,因此您无需运行CLI命令即可清除高速缓存。

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC

0

magento2在开发人员模式下运行缓慢的主要原因与动态生成的数千个静态和编译文件有关。

为此,有3种解决方案:

  • 使用NFS挂载整个目录(仍然必须使用SSD)。

  • 仅挂载应用程序目录(无论您的硬件如何运行都可以),但是您无法访问主机上的/ vendor目录。

  • 使用rsync挂载整个项目,并排除生成文件的目录(发布/静态,生成/代码等...)。

您可以在这里尝试一下:https : //github.com/zepgram/magento2-fast-vm/


0

Opcache大大提高了性能,只是不要忘记启用时间戳验证,以避免在修改文件时刷新缓存

opcache.validate_timestamps = On


-4

要提高Magento 2的存储速度,请按照下列步骤操作:

  • 首先,请确保您已满足所有系统和服务器要求。
  • 将Magento更新到最新版本。
  • 启用清漆缓存
  • 启用平面类别和产品-优化图像,Javascript和CSS
  • 设置CDN
  • 始终使用无错误的扩展和轻量级主题。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.