Làm thế nào để làm cho các trang web phát triển Magento 2 nhanh chóng?


18

Tôi đã tắt tất cả bộ nhớ cache và tôi đặt chế độ triển khai thành phát triển. Vì vậy, các trang web phát triển Magento 2 của tôi trên tất cả các máy rất chậm so với các trang web Magento 1.x.

Nó có bình thường cho Magento 2 không?

Các cấu hình máy chủ và Magento mà chúng ta phải sử dụng cho các trang web phát triển Magento 2 để nó có tốc độ tối đa là gì?

Cập nhật:

Trên mac để phát triển cục bộ, tôi đã có thể tăng tốc trang web bằng cách vô hiệu hóa opcache vì có vấn đề về cấu hình.


Cài đặt Redis để thay thế bộ đệm ẩn tập tin phụ trợ. Và sử dụng memcache cho các phiên php. Bật bộ đệm và vô hiệu hóa các phần bộ đệm mà bạn không muốn bật khi làm việc trên một tác vụ cụ thể. Nếu bạn chỉ tạo kiểu cho chủ đề, hãy sử dụng đồng hồ grunt và bật tất cả bộ đệm. Làm thế nào để cấu hình là trong tài liệu chính thức magento 2.
che khuất

redis là vô dụng trừ khi bạn có 100k + sản ​​phẩm
Claudiu Creanga

Tôi cũng đang bị phát triển chậm trên PC cửa sổ địa phương. Theo kinh nghiệm của bạn, sẽ tốt hơn cho tôi khi tôi bắt đầu phát triển cục bộ trong Ubuntu hoặc Linux Mint? và cấu hình nào bạn khuyên dùng?
Jai

Câu trả lời:


12

Bạn có thể sử dụng hộp mơ hồ này https://github.com/EcomDev/fast-hypernode .

Tôi sử dụng nó và nó khá nhanh. Trong chế độ nhà phát triển với bộ đệm bị vô hiệu hóa và xdebug, một lần làm mới trang là khoảng 2-3 giây.

Hoặc bạn có thể sử dụng hộp vagrant được cung cấp bởi magestead: http://www.magestead.com/

  • sử dụng php7.
  • sử dụng gulp để tạo css và js (nhanh hơn grunt). Bạn có thể thử cấu hình đã được xây dựng bởi snowdog (sẵn sàng trong 2 phút): https://github.com/SnowdogApps/magento2-frontools
  • sử dụng 3gb ram nếu làm thử nghiệm.
  • chỉ vô hiệu hóa bộ đệm mà bạn cần . Nếu bạn đang làm frontend, bạn không cần phải tắt bất kỳ bộ đệm.
  • sử dụng hepeload hoặc browserync để phát triển lối vào để bạn không cần tải lại các trang.

Hiểu những gì lệnh magento làm và khi nào chạy chúng. Nếu bạn đang chạy nhiều setup:static-content:deploythì bạn sẽ phát điên khi nhìn thấy những chấm đó. Grunt hoặc gulp không biết về @magento_import vì vậy đó là lý do tại sao khi bạn thêm hoặc xóa các tệp bạn cần chạy dev:source-theme:deploynhanh hơn nhiều so với tệp trên.

Điều gì không cải thiện:

Trừ khi bạn có hơn 100 nghìn sản phẩm, không có sự khác biệt, vì vậy đừng bận tâm ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- so sánh trong môi trường khác nhau.pdf ).

Hiện tại do cách magento2 sử dụng các yêu cầu (2mb của js), http2 cũng không có gì khác biệt.


Tôi cũng đang bị phát triển chậm trên PC cửa sổ địa phương. Theo kinh nghiệm của bạn, sẽ tốt hơn cho tôi khi tôi bắt đầu phát triển cục bộ trong Ubuntu hoặc Linux Mint? và cấu hình nào bạn khuyên dùng?
Jai

@Jai xin lỗi, đừng có kinh nghiệm với Mint. Tôi sử dụng mac và ubfox.
Claudiu Creanga

Thưa ngài ... Tôi có thể mong đợi tốc độ phát triển tốt của magento 2 không ... nếu tôi sử dụng Vagrant trên cửa sổ 7 (i5 + 12Gb Ram) Hoặc tôi có nên truy cập vào Ubuntu với cấu hình hệ thống này không vì cửa sổ đang chậm phát triển
Jai

1
@Jai Windows là ok. Bạn nên đặt mục tiêu làm mới 2-3 giây trong chế độ nhà phát triển với một số bộ nhớ cache trên. kiểm tra xem github.com/alankent/docker-gsd này nhanh như thế nào trên máy tính của bạn và nhắm đến tốc độ đó. đối với người lang thang, tôi khuyên bạn nên sử dụng hypernode packagist.org/packages/byteiNET/hypernode-vagrant
Claudiu Creanga

Cảm ơn lời đề nghị của bạn. Tôi sẽ thực hiện đề xuất của bạn và bạn có cảm thấy việc phát triển magento có thể được thực hiện nhanh chóng trong Ubuntu và Mac so với các cửa sổ không?
Jai

7

Tùy thuộc vào loại phát triển bạn dự định thực hiện, bạn có thể thấy việc chuyển sang biên dịch css phía máy khách cải thiện đáng kể tốc độ trang web phát triển

Cửa hàng> Cấu hình> Nâng cao> Nhà phát triển> Quy trình phát triển giao diện người dùng

Chuyển sang phía máy khách ít biên dịch


Cài đặt này dường như đã di chuyển trong Magento 2.2. Bất kỳ con trỏ về nơi để tìm thấy nó bây giờ?
fritzmg

1
docs.magento.com/m2/ee/user_guide/system/... tôi sẽ kiểm tra nếu trang web của bạn đang ở chế độ nhà phát triển vì nó không hiển thị nếu không
bjornredemption

Vâng, nó không ở chế độ nhà phát triển, thx :)
fritzmg

0

Ngoài ra, hãy đảm bảo rằng việc hợp nhất JS / CSS bị vô hiệu hóa khi ở chế độ nhà phát triển, điều này thực sự đạt hiệu suất, thử nghiệm cho thấy tốc độ có thể giảm từ 20-30 giây xuống còn 2 - 3 giây.

Có thể rõ ràng để làm điều này trong chế độ nhà phát triển nhưng nếu bị bỏ lỡ có thể dẫn đến một môi trường cực kỳ chậm vì tôi đã sao chép một môi trường sản xuất để phát triển và bỏ lỡ điều này trong một thời gian.

Cập nhật

Đây dường như là một vấn đề ảnh hưởng đến tôi trong 2.1.7 đến 2.1.9 và dường như được khắc phục trong Magento 2.2.X


Thông tin này có vẻ sai. Tốc độ không được giảm khi hợp nhất
ladle3000


@ ladle3000 Ngoài ra, bạn sẽ không thực sự muốn hợp nhất và thu nhỏ trong quá trình phát triển chỉ khiến cho việc xem những tập tin nào cần thay đổi để sửa đổi CSS / JS trở nên khó khăn hơn.
harri

Tôi thấy điểm của bạn. Tôi nghĩ có lẽ bởi vì tôi đã di chuyển trực tiếp đến 2.2 nên tôi chưa bao giờ phải đối mặt với điều này. Bạn dùng phiên bản nào?
ladle3000

Điều này có thể được sửa trong 2.2.0 nhưng có vẻ như là một bước bổ sung. Tôi đã thử kiểm tra sáng nay nhưng khi tôi kích hoạt ở chế độ nhà phát triển thì dường như nó vẫn bị vô hiệu hóa? Tôi đang ở ngày 2.2.3
harri

0

Vô hiệu hóa các bộ đệm sau để bạn không cần chạy các lệnh CLI để xóa bộ đệm.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC

0

Lý do chính khiến magento2 chậm trong chế độ nhà phát triển có liên quan đến hàng ngàn tệp tĩnh và được biên dịch được tạo khi đang di chuyển.

Có 3 giải pháp cho việc này:

  • Gắn kết toàn bộ thư mục với NFS (SSD vẫn là bắt buộc).

  • Chỉ thư mục ứng dụng (bất kỳ phần cứng nào của bạn cũng sẽ hoạt động tốt) nhưng bạn mất quyền truy cập vào thư mục / nhà cung cấp trên máy chủ của mình.

  • Gắn kết toàn bộ dự án với rsync và loại trừ các thư mục nơi các tệp được tạo (pub / static, created / code, v.v.).

Bạn có thể dùng thử tại đây: https://github.com/zepgram/magento2-fast-vm/


0

Opcache giúp tăng hiệu suất quan trọng, chỉ cần đừng quên bật xác thực dấu thời gian để tránh làm mới bộ đệm khi sửa đổi tệp

opcache.validate_timestamps = On


-4

Để tăng tốc độ của cửa hàng Magento 2, hãy làm theo các bước sau:

  • Trước tiên, hãy đảm bảo rằng bạn đã đáp ứng tất cả các yêu cầu của hệ thống và máy chủ.
  • Cập nhật Magento lên phiên bản mới nhất.
  • Đã bật Cache Varnish
  • Đã bật Danh mục và Sản phẩm phẳng - Tối đa hóa hình ảnh, Javascript và CSS
  • Thiết lập CDN
  • Luôn sử dụng các tiện ích mở rộng không có lỗi và chủ đề nhẹ.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.