モジュールの無効化-パフォーマンスの改善?


27

この質問には2つの部分があります。

  1. コアモジュールを無効にすると、ストアの全体的なパフォーマンスが向上しますか。その場合、管理で無効にする(フロントエンド出力を無効にする)か、このパフォーマンスの改善を確認するにはconfig.xmlで無効にする必要があります。

  2. パフォーマンスの改善が必要な場合、ストック上のどのモジュール、CE 1.7.0.2ビルドは、パート1で回答した方法で安全に無効にできます。

回答:


27
  1. はい、そうです。まず、モジュールが少ないということは、(潜在的に)ロードおよび処理するコードが少ないことを意味します。その次に、たとえばMage_Rssモジュールなどの多くのモジュールは、特定のイベントでインデックスの再作成を強制するなど、バックグラウンドで多くのコードを実行します。

    使用するのに最適な方法:を使用してモジュールを無効にするSystem > Configuration > Advancedと、ショップにそのモジュールのコードが含まれたまま、モジュールの出力のみが抑制されます。これは、モジュールの機能を必要としないが、他の(サードパーティの)拡張機能がそれに依存しているため、たとえばモデルまたはブロックが必要な場合に便利です。を使用して無効にするapp/etc/modules/*.xmlと、インストールから完全に削除されるため、パフォーマンスの面でこれが最良のオプションです。

  2. 通常、XMlを使用して次の拡張機能を無効にします

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag(プロジェクトで使用されていない場合)
    • Mage_Poll(とにかくポーリングを使用する人が原因)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating(プロジェクトで使用されていない場合)
    • Mage_Bundle(再び、クライアントが必要としない場合)
    • Mage_Downloadable(上記を参照)

    およびを介しSystem > Congiguration > AdvancedMage_Adminnotification、バックエンドでこれらの迷惑なポップアップを抑制します。

    おそらく、使用しているものに応じて、さらにいくつかのコア拡張機能を無効にできます。Magentoの安定性を損なわないようにしてください。これには試行錯誤が必要だと思います。


1
コアxmlファイルを変更せずにそれらを無効にする方法はありますか?
マーティウォレス

1
それはすでに独自のXMLファイルを持っていない場合は、先に行くと、それを作成し、単に作成することができますapp/etc/module/Mage_Rss.xml追加、たとえば、ちょうど必ずcodePool(コア)とアクティブ(false)をタグ
サンダーMangel

たぶん混乱したかもしれません:)。たとえば、Mage_Centinel.xmlを修正せずに、Mage_Centinelを無効にできます。つまり、独自のxmlファイルを使用して無効にできます。私は、コアコードを変更することはないだろうと道
マーティ・ウォレス

ああ、私は誤解しました。すべてのXMLファイルが1つにマージされるため、おそらく無効にすることができます。拡張config.xmlタグに追加すると、ピックアップされるはずですが、私の意見では、app/etc/modulesディレクトリからそれを行うのは「クリーン」です。しかし、それは私だけです:)
サンダーマンジェル

2
投票を無効にする前に、サンプルの投票「色を選択」を削除してください。モジュールが無効になっている場合でも、ポーリングの内容を表示できるサードパーティのモジュールを見つけました。
lrkwz

14

回答が遅れたにもかかわらず、質問に答えたい

  1. ファイルを物理的に削除すると、パフォーマンスがさらに向上します。
  2. Mage_Core;-) を除く、それらのすべて

ただし、緊密なカップルモジュールを無効にするには、別のモジュールをインストールする必要があります。したがって、私は開発しました:https : //github.com/Zookal/magento-mock

Zookal Mock:無効なコアモジュールと拡張機能の透過的な自動検出と、Magentoを壊さないためのモックオブジェクトの提供。設定するものはありません。クラスは書き換えられません。1人のオブザーバーのみ。箱から出して動作します。ファイルを物理的に削除することもできます!

たとえば、無効にしMage_WishlistたりMage_Newsletterバックエンド->顧客->顧客の編集を行うと、奇妙なエラーがスローされます。したがって、Mock拡張機能を使用してください!

sales_flat_order_paymentテーブルにエントリがある古い支払いモジュールをアンインストールすることもでき、通常はバックエンド->販売->注文ビューを壊しますが、Mock拡張機能には透過的な回避策があります。

考慮すべき点が1つあります。コマンドラインでは機能しません。


10

モジュールを無効にする簡単で迅速なXMLの方法に関するMariusの回答を参照してください。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>

想像してみて!Magentoモジュールの.gitignore!

これにより、有効化/無効化したモジュールを一目で簡単に確認できます。


2

@Sander Mangelが言うように、モジュールを反抗的に無効化するとパフォーマンスが大幅に向上しますが、実際に無効化するのは店舗ごとのことです。通常、必要のないものはたくさんあります。ウィッシュリストの無効化を使用していない場合Mage_Wishlist、することで大きな違いが生じます。

別の利点は無効化Mage_Logです。ただし、これはlocal.xmlを使用する方が適切です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.