Magento 2 - Thời gian tải nặng (quá nhiều tệp js)


8

Tôi hiện đang làm việc trên Magento 2 và tôi nhận thấy rằng thời gian tải cho tất cả các trang là cực kỳ cao.

Hiện tại tôi đang chạy trên Xampp, chế độ sản xuất được bật, HTML / js / CSS được hợp nhất và thu nhỏ, Varnish bị vô hiệu hóa và tôi sẽ không sử dụng nó vì lưu trữ web của tôi không thể cài đặt nó trên máy chủ của tôi vì nó sẽ can thiệp vào một số kịch bản. Tôi sử dụng một chủ đề tùy chỉnh mà cha mẹ là chủ đề trống của Magento 2. Sau khi thay đổi cài đặt của mình, tôi đã triển khai lại các tệp tĩnh và làm trống bộ đệm.

Mối quan tâm chính của tôi là khi tôi nhìn vào bảng điều khiển mạng tôi thấy rằng một lượng lớn tệp js được tải mỗi lần. Ví dụ trên trang chuyên mục của tôi, 122 tệp js được tải mà tôi tìm thấy khá nhiều, với tổng kích thước là 955 ko.

Tôi đã thử nghiệm nó trên máy chủ của mình mà không hợp nhất và thu nhỏ nhưng như tôi đã nói ở trên, tôi nghĩ vấn đề nằm ở số lượng tệp được tải bởi vì ngay cả khi nó tải nhanh hơn thì nó vẫn quá dài và trong quá trình thanh toán thậm chí còn tệ hơn.

Tôi đã thử tùy chọn gói nhưng nó tạo ra tệp js 8 MB tệ hơn.

Tôi đã bỏ lỡ điều gì đó hay hơi bình thường khi số lượng tệp js nhiều như vậy? Là Varnish bắt buộc cho hiệu suất tốt và có một sự thay thế cho nó?

Tôi khá mới với Magento 2 vì vậy nếu bạn cần thêm thông tin, tôi sẽ sẵn lòng cung cấp nó.


Điều này là phổ biến với Magento 2, để tải 120 hoặc thậm chí hơn 150 tập lệnh. Bạn luôn có thể hợp nhất và thu nhỏ chúng thành một tệp. Nhưng chỉ cần kiểm tra để đảm bảo bạn sử dụng HTTP1 hoặc HTTP2 trên máy chủ của bạn. Nếu HTTP2 của bạn được bật thì việc có các tập lệnh 120 hoặc thậm chí 150 js được tải không đồng bộ sẽ không thành vấn đề do cách thức hoạt động của HTTP2. HTTP2 làm tốt hơn với một số tệp nhỏ hơn được tải cùng một lúc, hơn là phải tải một tệp js rút gọn kết hợp lớn. Nhưng tôi cảm thấy nỗi đau của bạn, Magento 2 là một vấn đề đau đầu khi làm việc so với Magento 1. Nhưng tôi cảm thấy Magento 2 vẫn chậm!
Jonathan Marzullo

Câu trả lời:


3

Số lượng JS rất lớn, nhưng nếu tổng số tiền lên tới 8 MB thì có gì đó không đúng. Bạn nên sử dụng cấu hình "Gói" trong chế độ sản xuất nếu bạn không muốn tải> 100 tệp.

Với chủ đề Luma mặc định, gói, hợp nhất và thu nhỏ được kích hoạt, tệp JS được gói là 1,9 MB.

Varnish là một chủ đề khác và sẽ không giúp thực hiện các tệp tĩnh được tạo.


Đó là những gì tôi đã làm và nó tạo ra một tệp js 8mo. Có một cấu hình cụ thể nào để thực hiện liên quan đến việc đóng gói bên cạnh việc kích hoạt nó trên te admin không? Tôi xả nước và làm sạch bộ nhớ cache sau đó.
Tonani

Bạn phải kích hoạt chế độ sản xuất, triển khai lại các tệp tĩnh và xóa bộ đệm nhưng tôi đoán bạn đã làm điều đó
Fabian Schmengler

Có tôi đã làm. Có lẽ có một cái gì đó sai với chủ đề trống.
Tonani

Tôi đã có vấn đề tương tự tuy nhiên cảm thấy như bó có vấn đề tại một số điểm và bây giờ nó đã được sửa. Tuy nhiên, tôi đã sử dụng seoptimer.com này và điều này vẫn cho thấy trang web của tôi có mức JS lớn khoảng 5 MB khi DevTools hiển thị 1,5 MB trong tab mạng cho JS trên trang sản phẩm. Là trang web này chỉ sai?
harri

1

Tôi cũng khá mới với Magento 2, nhưng cho đến nay với cả magento 1 và 2, chúng tôi đã phải kích hoạt bộ nhớ đệm để có bất cứ thứ gì có tốc độ. Số lượng js là rất lớn, vì vậy bộ nhớ đệm là người bạn tốt nhất của bạn. Bạn có thể bật bộ đệm ẩn bằng cách chạy bộ đệm php bin / magento: enable. Nếu bạn có bộ đệm, bạn sẽ phải xóa nó sau khi thực hiện thay đổi bằng cách sử dụng bộ đệm php bin / magento: flush. Có sẵn bộ nhớ đệm của Magento 2, ngay cả khi không có Vanish.


0

Thật đáng ngạc nhiên khi vấn đề này thực sự xảy ra với Magento 2 vào năm 2020. Gói không gói 90% tệp (như được mô tả ở đây )

Js hợp nhất, mặt khác, hợp nhất tất cả mọi thứ thành một gói siêu nặng.

Tuy nhiên, mặc dù không thể giải quyết bằng Magento mặc định, đây là một tiện ích mở rộng có trả tiền giúp cải thiện rất nhiều hành vi nói trên: tối ưu hóa tốc độ trang của Google

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.