Khi nào tôi nên sử dụng Trình biên dịch Magento


44

Tôi thường thấy mọi người đề cập đến việc họ sử dụng tính năng biên dịch của Magento.

Tôi không bao giờ và tự hỏi, trường hợp nào bạn nên sử dụng nó và bạn đạt được hiệu suất bao nhiêu sau đó.

[TUYÊN BỐ TỪ CHỐI]: Khi tôi có một đề nghị chỉnh sửa về điều này gần đây. Câu hỏi này không phải là về magento2 di-compile, nó thậm chí không phải là một chút về magento2.


1
Xem điểm chuẩn của tôi với trình biên dịch: byte.nl/blog/should-i-use-the-magento-compiler
Willem

1
Cấu hình apc của bạn bị thiếu, hiện tại chúng tôi có mô-đun opcache trong các phiên bản hiện tại và không có phiên bản php được hỗ trợ nào hoạt động với apc nữa. Phần mềm thay đổi, giải pháp và cách giải quyết cũng vậy.
Flyingmana

Câu trả lời:


43

[DISCLAIMER] Câu trả lời này chỉ dành cho trình biên dịch trong Magento 1, trình biên dịch trong Magento 2 có mục đích / hiệu ứng hoàn toàn khác

Bạn nên sử dụng nó không bao giờ.

Bởi vì PHP đã phát triển một số cơ chế để cải thiện các ứng dụng chứa nhiều tệp.

Phương tiện: php opCache trong phiên bản php hiện tại giúp cải thiện hiệu suất tốt hơn, nếu được cấu hình đúng. Ví dụ: để sử dụng giới hạn đủ cao cho các tệp được lưu trữ. Ngoài ra, opCache có các cải tiến cho các chức năng truy cập hệ thống tập tin hoạt động ở cấp độ sâu hơn sau đó aoe_ classpathcache và cải thiện hiệu suất hơn nữa.

Cuối cùng, chúng tôi có một trình tải tự động không cần nhiều hơn một vài ms mà không cần trình biên dịch. Thậm chí có trường hợp, trình biên dịch đã làm hại đến hiệu suất. Chưa kể các vấn đề tốn thời gian điên rồ để gỡ lỗi các ứng dụng bằng trình biên dịch.

Ngoài ra, opCache không chỉ cải thiện tự động tải, tối ưu hóa chức năng hệ thống tập tin thậm chí còn cải thiện tải tập tin mẫu và bố cục.

http://php.net/manual/en/opcache.configuration.php


2
Vì vậy, bạn đề nghị vô hiệu hóa biên dịch, xóa các tệp đã biên dịch và sử dụng opCache thay thế?
perissf

1
nếu bạn tóm tắt, có
Flyingmana

3
Trình biên dịch là phần mềm hữu ích nhất với các phiên bản 1.4.1.1, 1.4.2.0 và có thể là 1.5.1.0. Bắt đầu với 1.5.1.0 chuyển tiếp, tối ưu hóa mã bắt đầu để làm cho nó ít hiệu quả hơn. Ở đâu đó khoảng 1.6 hoặc 1.7, ai đó đã thực hiện thử nghiệm A / B và thấy rằng nó thực sự có thể làm chậm hệ thống dưới một số cấu hình máy chủ nhất định.
Phòng thí nghiệm Fiasco

3
Hai cài đặt cho trình thông dịch PHP để trợ giúp các tập tin có thể được thực hiện nếu bạn có quyền truy cập hệ thống hoặc có thể yêu cầu nhà cung cấp dịch vụ lưu trữ của bạn thực hiện thay đổi cho bạn -> realpath_cache_size=64krealpath_cache_ttl=3600. 64k dường như là điểm hấp dẫn, mọi người đã khuyến nghị nhiều hơn, nhưng thử nghiệm hiệu năng cho thấy nó lãng phí bộ nhớ.
Phòng thí nghiệm Fiasco

2
@FiascoLabs Bạn có liên kết / nguồn đến số liệu "Thử nghiệm A / B" của mình không? Nó sẽ là tốt đẹp để xem.
Aram Papazian

11

"Khi nào tôi nên sử dụng Trình biên dịch Magento"

Nếu vì một lý do nào đó, hệ thống của bạn không cài đặt Trình tăng tốc PHP (không chắc nhưng có thể)

Nếu bạn đang chạy một phiên bản magento rất cũ (bạn thực sự không nên)

Tại sao bạn nên giữ nó bị vô hiệu hóa?

Tôi hoàn toàn đồng ý với nhận xét của Fiasco Labs ở trên. Mặc dù bạn không cung cấp số phiên bản magento của mình nhưng điều này đúng với tất cả các phiên bản magento (CE) trên 1.6.1, nếu bạn bật trình biên dịch trên hệ thống đã có trình tăng tốc php (như PHP-APC, v.v.) toàn bộ cửa hàng của bạn , từ các trang quản trị cho đến khi khách hàng kiểm tra sẽ chậm hơn, tệ hơn, nhiều plugin / mod bạn tìm thấy trong kết nối magento sẽ không hoạt động chính xác với trình biên dịch hoạt động.

Nói tóm lại, năm 2014 không bao giờ có bất kỳ lý do chính đáng nào để kích hoạt trình biên dịch.

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.