Відключення модулів - підвищення продуктивності?


27

Це питання має 2 частини:

  1. Чи відключення основних модулів покращує загальну продуктивність магазину, і якщо це так, чи потрібно їх відключити в адміністраторі (тобто відключити вихідний вигляд) або відключити через config.xml, щоб побачити таке покращення продуктивності.

  2. Якщо буде досягнуто покращення продуктивності роботи модулів на складі, складання CE 1.7.0.2 можна безпечно відключити за допомогою методу, описаного в частині 1.

Відповіді:


27
  1. Так. Перш за все, менше модулів означає менше коду для (потенційно) завантаження та обробки. Поруч із цим багато модулів, як, наприклад, модуль Mage_Rss, виконують багато коду у фоновому режимі, як-от примушування повторного виведення на певні події.

    Щодо методу, який найкраще використовувати: відключення модуля за допомогою System > Configuration > Advancedлише пригнічує вихід модуля, в той же час включаючи код цього модуля в магазині. Це зручно, коли ви не бажаєте функціональності модулів, але вам потрібні, наприклад, Моделі або Блоки, оскільки від цього залежать інші (3-й партії) розширення. Якщо вимкнути його за допомогою, app/etc/modules/*.xmlви повністю видалите його з інсталяції, тож ефективніше це найкращий варіант.

  2. Зазвичай я відключаю наступне розширення через XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (якщо не використовується в проекті)
    • Mage_Poll (тому, хто все-таки використовує опитування)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (якщо не використовується в проекті)
    • Mage_Bundle (знову ж, якщо клієнт цього не вимагає)
    • Mage_Dawnloadable (див. Вище)

    і за System > Congiguration > Advancedдопомогою Mage_Adminnotificationякого пригнічує ті дратівливі спливаючі вікна у вихідному.

    Можливо, ви можете відключити ще кілька основних розширень, залежно від того, що ви використовуєте чи ні. Просто переконайтеся, що ви не пошкоджуєте стабільність Magento. Я думаю, це потребує деяких спроб та помилок.


1
Чи є спосіб їх відключити без зміни основних xml-файлів?
Марті Уоллес

1
Якщо у нього ще немає свого власного XML-файлу, ви можете продовжити його і створити, просто створіть, app/etc/module/Mage_Rss.xmlнаприклад, і просто переконайтеся, що ви додали codePool (core) та активний (false) тег
Sander Mangel

Я, можливо, плутав речі саме тоді :). Я маю на увазі сказати, що я можу відключити Mage_Centinel, наприклад, без внесення змін Mage_Centinel.xml, тобто використовувати свій власний xml-файл для його відключення. Таким чином я не міняв би основний код
Марті Уоллес

Добре, я зрозумів неправильно. ну ви, ймовірно, можете відключити його, оскільки всі файли XML об'єднані в один, тому якщо ви додасте їх у розширення config.xml тег, він повинен отримати пікап, але, на мою думку, це "чистіше" робити це з app/etc/modulesкаталогу. Але це тільки я :)
Sander Mangel

2
Перш ніж відключити опитування, пам’ятайте про видалення вибіркового опитування «Виберіть кольори»; Я знайшов сторонні модулі, які можуть показувати вміст опитування, навіть якщо модуль вимкнено.
lrkwz

14

Незважаючи на запізнення з відповіддю, я хотів би відповісти на запитання

  1. Ви отримуєте ще більшу продуктивність, якщо фізично вилучаєте файли.
  2. Просто всі, крім Mage_Core;-)

Але для відключення щільних парних модулів вам потрібно встановити ще один модуль, який би подбав про те, щоб нічого не зламалося. Тому я розробив: https://github.com/Zookal/magento-mock

Zookal Mock: Прозоре автоматичне виявлення відключених основних модулів та розширень та надання макетних об'єктів, щоб не порушити Magento. Нічого не налаштовувати. Жоден клас не переписує. Лише один спостерігач. Працює поза коробкою. Ви навіть можете фізично видалити файли!

Наприклад, коли ви відключили Mage_Wishlistабо Mage_Newsletterваш Backend -> Клієнт -> Редагування клієнта призведе до дивних помилок. Тому використовуйте розширення Mock!

Ви навіть можете видалити старі модулі платежів, які містять записи в sales_flat_order_paymentтаблиці, і зазвичай розбивають Backend -> Продажі -> Перегляд замовлення, але розширення Mock має для вас прозору роботу.

Варто врахувати одне: це не працює в командному рядку.


10

Дивіться відповідь Маріуса щодо простого та швидкого способу відключення модулів XML. Створіть єдиний файл zzz_Disabled_Modules.xmlіз вмістом

<?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>

Уявіть собі! .Gitignore для модулів Magento!

За допомогою цього ви можете легко побачити, які модулі ви ввімкнули / відключили з першого погляду.


2

Як зазначає @Sander Mangel, деактивація модулів заперечно може принести великий приріст продуктивності, хоча те, що ви відключаєте, справді - це зберігання в магазині. Як правило, багато цього вам не потрібно. Якщо ви не використовуєте список бажань, вимкнення Mage_Wishlistмає неабияке значення.

Ще одна вигода - відключення Mage_Log. Це, можливо, краще зробити через local.xml.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.