Vô hiệu hóa các mô-đun - cải thiện hiệu suất?


27

Câu hỏi này có 2 phần:

  1. Việc vô hiệu hóa các mô-đun lõi có cải thiện hiệu suất tổng thể của cửa hàng hay không và nếu vậy, chúng có cần được vô hiệu hóa trong quản trị viên (tức là vô hiệu hóa đầu ra giao diện) hoặc bị vô hiệu hóa thông qua config.xml để cải thiện hiệu suất này.

  2. Nếu có cải thiện hiệu suất để đạt được, mô-đun nào trên kho, bản dựng CE 1.7.0.2 có thể được tắt một cách an toàn, thông qua phương thức được trả lời trong phần 1.

Câu trả lời:


27
  1. Có nó làm. Trước hết, ít mô-đun có nghĩa là ít mã hơn (có khả năng) tải và xử lý. Bên cạnh đó, rất nhiều mô-đun, ví dụ như mô-đun Mage_Rss chạy rất nhiều mã trong nền như buộc buộc reindexes vào một số sự kiện nhất định.

    Về phương pháp tốt nhất để sử dụng: vô hiệu hóa một mô-đun System > Configuration > Advancedchỉ sử dụng triệt tiêu đầu ra của mô-đun trong khi vẫn bao gồm mã của Mô-đun đó trong cửa hàng. Điều này rất hữu ích khi bạn không muốn có chức năng mô-đun nhưng bạn cần có Mô hình hoặc Khối chẳng hạn vì các tiện ích mở rộng (bên thứ 3) khác phụ thuộc vào chức năng này. Vô hiệu hóa nó bằng cách sử dụng app/etc/modules/*.xmlsẽ loại bỏ hoàn toàn nó khỏi cài đặt để hiệu suất khôn ngoan đây là tùy chọn tốt nhất.

  2. Tôi thường tắt tiện ích mở rộng sau qua XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (khi không được sử dụng trong một dự án)
    • Mage_Poll (vì dù sao ai cũng sử dụng cuộc thăm dò ý kiến)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (khi không được sử dụng trong dự án)
    • Mage_Bundle (một lần nữa, nếu khách hàng không yêu cầu)
    • Mage_Doadable (xem bên trên)

    và thông qua System > Congiguration > Advancedcác Mage_Adminnotificationmà ngăn chặn những popup gây phiền nhiễu trong backend.

    Bạn có thể có thể vô hiệu hóa thêm một số tiện ích mở rộng cốt lõi tùy thuộc vào những gì bạn đang sử dụng hay không. Chỉ cần đảm bảo rằng bạn không ảnh hưởng đến sự ổn định của Magento. Tôi đoán điều này sẽ mất một số thử nghiệm và lỗi.


1
Có cách nào để vô hiệu hóa chúng mà không thay đổi các tệp xml lõi không?
Marty Wallace

1
Nếu nó chưa có tệp XML của riêng bạn, bạn có thể tiếp tục và tạo nó, chỉ cần tạo app/etc/module/Mage_Rss.xmlví dụ và chỉ cần chắc chắn rằng bạn đã thêm mãPool (lõi) và thẻ hoạt động (sai)
Sander Mangel

Tôi có thể nhầm lẫn mọi thứ sau đó :). Tôi muốn nói rằng tôi có thể vô hiệu hóa Mage_Centinel chẳng hạn, mà không sửa đổi Mage_Centinel.xml tức là sử dụng tệp xml của riêng tôi để vô hiệu hóa nó. Bằng cách đó, tôi sẽ không thay đổi mã lõi
Marty Wallace

Ahhh được rồi, tôi hiểu lầm. cũng có thể bạn có thể vô hiệu hóa nó vì tất cả các tệp XML được hợp nhất thành một vì vậy nếu bạn thêm nó vào thẻ config.xml của bạn, nó sẽ được lấy lên nhưng theo tôi thì nó 'sạch' hơn để làm điều đó từ app/etc/modulesthư mục. Nhưng đó chỉ là tôi :)
Sander Mangel

2
Trước khi tắt các cuộc thăm dò, hãy nhớ xóa cuộc thăm dò mẫu "Chọn màu"; Tôi đã tìm thấy các mô-đun của bên thứ ba, những người có thể hiển thị nội dung thăm dò ý kiến ​​ngay cả khi mô-đun bị tắt.
lrkwz

14

Mặc dù bị trễ câu trả lời, tôi muốn trả lời câu hỏi

  1. Bạn đạt được hiệu suất cao hơn nữa nếu bạn gỡ bỏ các tập tin.
  2. Đơn giản là tất cả trong số họ, ngoại trừ Mage_Core;-)

Nhưng để vô hiệu hóa một vài mô-đun chặt chẽ, bạn cần cài đặt một mô-đun khác, điều quan tâm là không có gì sẽ bị hỏng. Do đó, tôi đã phát triển: https://github.com/Zookal/magento-mock

Zookal Mock: Tự động phát hiện các mô-đun và phần mở rộng lõi bị vô hiệu hóa và cung cấp các đối tượng giả để không phá Magento. Không có gì để cấu hình. Không có lớp viết lại. Chỉ có một người quan sát. Sáng tạo. Bạn thậm chí có thể loại bỏ các tập tin!

Ví dụ: khi bạn vô hiệu hóa Mage_Wishlisthoặc Phần cuối Mage_Newslettercủa bạn -> Khách hàng -> Chỉnh sửa của khách hàng sẽ xuất hiện các lỗi lạ. Do đó, hãy sử dụng phần mở rộng Mock!

Bạn thậm chí có thể gỡ cài đặt các mô-đun Thanh toán cũ có các mục trong sales_flat_order_paymentbảng và thường phá vỡ Phần cuối của bạn -> Bán hàng -> Chế độ xem Đơn hàng nhưng tiện ích mở rộng Mock có một công việc minh bạch xung quanh bạn.

Một điều cần xem xét: Nó không hoạt động trên dòng lệnh.


10

Xem câu trả lời của Marius về cách vô hiệu hóa các mô-đun XML đơn giản và nhanh chóng. Tạo một tệp duy nhất zzz_Disabled_Modules.xmlvới nội dung

<?xml version="1.0"?> 
<config>
    <modules>
        <Mage_Rss>
            <active>false</active>
        </Mage_Rss>
        <Mage_PaypalUk>
           <active>false</active>
        </Mage_PaypalUk>
        <Phoenix_Moneybookers>
            <active>false</active>
        </Phoenix_Moneybookers>
        <!-- all other modules here -->
    </modules>
</config>

Hãy tưởng tượng! Một .gitignore cho các mô-đun Magento!

Với điều này, bạn có thể dễ dàng xem các mô-đun bạn đã bật / tắt trong nháy mắt.


2

Như @Sander Mangel nói rằng việc vô hiệu hóa các mô-đun một cách thách thức có thể có hiệu suất lớn, mặc dù những gì bạn vô hiệu hóa thực sự là một thứ lưu trữ. Bình thường có rất nhiều mà bạn không cần mặc dù. Nếu bạn không sử dụng việc vô hiệu hóa danh sách trắng sẽ Mage_Wishlisttạo ra sự khác biệt.

Một lợi ích khác là vô hiệu hóa Mage_Log. Điều này có thể được thực hiện tốt hơn thông qua local.xml.

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.