有効になっていないモジュールはパフォーマンスに影響しますか?


91

Drupalモジュールが存在するが有効になっていない場合、Drupalサイトのパフォーマンスに影響はありますか?

別の言い方をすれば..無効化されたモジュールをDrupalサイトから削除すると、パフォーマンスにプラスの影響がありますか?

回答:


97

通常、パフォーマンスに影響はありません-モジュール選択ページ(admin / build / modulesまたはadmin / modules)を表示している場合を除きます。無効なモジュールはメモリにロードされず、実行されません。


24
とはいえ、モジュールを無効にしても変数とデータベーステーブルが残るため、データを損失することなくモジュールを再度有効にできます。無効なモジュールを再び使用する予定がない場合は、D6のadmin / build / modules / uninstallまたはD7のadmin / modules / uninstallを使用してモジュールをアンインストールする必要があります。
デイ

1
これは、ノードテーブルdrupal.org/project/quickstatsに列を追加するモジュールの一例になると思います。そのため、モジュールをアンインストールしない場合、これはリソースの不必要な消費(おそらく最小限ですか?) )ノード情報をプルするときに他のモジュールに。
cigotete

62

はい。できる。

他の人の言うことにもかかわらず、パフォーマンスが低下する状況がいくつかあります。

  1. 無効で、正しくアンインストールされていないモジュールは、パフォーマンスに深刻な影響を与える可能性があります。モジュールの変数は削除されず、ページ要求ごとにロードされます。モジュールのロケール(翻訳済みサイトを使用する場合)は削除されず、既に面倒なデータベーステーブルでオーバーヘッドが発生します。
  2. Drupalは、システムテーブルをキャッシングとして使用して、モジュールのファイルシステムでのルックアップを回避します。そのテーブルにあるエントリが多いほど、遅くなります。システムテーブルのインデックスは非常に優れているため、この影響はかなり小さくなります。ただし、キャッシュをクリアして管理ページにアクセスすると、このテーブルが再構築されます。200以上の未使用モジュールを使用してテーブルを再構築すると、未使用モジュールがない場合よりも約25倍遅くなります。このテーブルの再構築の量は、開発中など、いくつかの奇妙な状況で非常に多くなる可能性があります。

未使用のモジュールは、システムテーブルの再構築中以外にメモリを使用しません。未使用のモジュールは、システムテーブルの再構築中を除いて、ファイルシステムでのルックアップの回数を増やしたり遅くしたりしません。数千のモジュールを超えると、ファイルシステム自体が問題を引き起こす可能性があります。


5
無効なモジュールは、必ずしも正しくアンインストールされたモジュールではありません。モジュールを無効にして、その設定ページが表示されないようにすることはできます。たとえば、Drupal.orgのViews UIでは、誰かがビューを編集する必要がある場合にのみ有効になり、ビューの編集が完了すると無効になります。
キアムルノ

3
さらに、devel / admin_menuがインストールされている場合、「開発者モジュールを無効にする」ための便利なショートカットがあります。これにより、通常実行されている本番サイトでは不要なビューUI、ルールUI、フィールドUIなどが無効になります。これにより、通常のLAMPマシンの各PHP / Apacheスレッドで数MB節約できます!
-geerlingguy

5
有効化されていないモジュールは、モジュールごとに無効化されているわけではないことを認識しています。ビューと開発類似モジュールの例は、私のポイントを証明してます。views-uiを無効にすると、ロケールテーブルと変数テーブルは、各ページでロードおよび評価されるlintで/ littered /されます。私は最近、5MB(!)と60MB(!)の残りの変数と未使用のロケール文字列があり、古くて使用されなくなったモジュールの残りのサイトをクリーンアップしました。ロケールのルックアップが原因でクエリが遅くなり、ページロードごとに5Mbの余分なメモリが発生します。
バーク

Views UIを無効にしたのは、まだ使用したいからです。必要ないときに有効にしたくないというだけです。その場合、そのモジュールのすべてのDrupal変数を削除すると、変更したすべての設定がリセットされるという悪影響があります。それは確かに私が望むものではありません。有効になっていないモジュールは無効なモジュールです。アンインストールしたモジュールと無効なモジュールを混同しているようです。後者は、ビューを編集するときに本当に必要なビューUIなど、特定の状況で使用するために無効にしたモジュールです。他の場合は必要ありません。
キアマルノ

2
説明どおりにビューUIを使用する場合:自由に使用できるオプションで無効になります。それがパフォーマンスに影響を及ぼします。それがOPが求めるものです。そして、明らかにそれは人々がそれを使用する方法です(少なくともあなたはそうします)。したがって、結論としては、無効なモジュールはパフォーマンスに影響を与える可能性があります。特に、完全に削除しないことを選択した場合。そして、それらが適切にアンインストールされない場合は常に
11

8

インストールされ、私は右、あなたのDrupalモジュール(「サイト/すべて/モジュール」または「サイト/ yoursite.com /モジュール」)フォルダ内の意味と仮定しますか?

その場合、「admin / build / modules」ページにアクセスするだけで、無効化されたモジュールはパフォーマンスにまったく影響しません。Drupalは、いくつかのモジュール要素のキャッシュを(hook_menuとして)再構築します。


7

私の経験から、無効化されたモジュールによるパフォーマンスの低下はごくわずかです(そして、相対的な4000の無効化されたモジュールは、30の無効化されたモジュールなどより少し遅くなるかもしれません)

個人的には、レポジトリやWebディレクトリにある未使用の(そしておそらく時代遅れの)コードについて心配していますが、私はそのように保持しています。


4

技術的にはいいえとはい。通常、無効化されたモジュールはメモリに読み込まれないため、サイトのパフォーマンス自体には影響しません。ただし、無効化されたモジュールの変数に大量のデータがある場合は、それらをアンインストールしてメモリを解放することをお勧めします。


3

無効化されたモジュールのコードを削除しても、サイトに影響がない場合があります。

繰り返しますが、ある時点でモジュールをインストールした場合、データベースにいくつかのテーブルが追加されます。したがって、インストールするモジュールが多いほど、データベースのパフォーマンスに影響を与える可能性が高くなります。

モジュールをアンインストールすると、これらの不要なテーブルが削除されます。

繰り返しますが、パフォーマンスはインストールしたモジュールの数に依存します。


3

アンインストールされず、フォルダーシステムから物理的に削除された無効なモジュールは、サイトのパフォーマンスに悪影響を及ぼします。そのようなモジュールが5つあり、そのためにis_dir()関数の呼び出しがさらに10,000回ありました。missing_modulesモジュール(missing_module)を使用して、欠落しているモジュールを特定し、データベースの問題を修正しました。


1

アンインストールして無効にしても、パフォーマンスには影響しません。

ただし、モジュールが無効になっている場合は、いくつかのテーブルが関連付けられている可能性があるため、drupalデータベースに余分な負荷がかかります。

また、前述のように、drupalのモジュールページにはいくつかの重大なパフォーマンスの問題があります。多くの場合、このページはロードされず、インストール/アンインストールされたすべてのモジュールがそこに表示されるため、時間がかかります。

したがって、この状況を克服するには、未使用のモジュールを/ sites / all / modules /ドライブから物理的に削除する必要があります。


1
「アンインストールして無効にしても、パフォーマンスには影響しません。」-特定のケースでは可能です。特に管理アクションのパフォーマンス。「モジュール」ページだけでなく、翻訳またはコードレビュー用の一部のモジュールは、有効になっていないモジュールでも機能します。そして、ファイルシステムのパフォーマンスのようなマイナーなものがあります。
モウォ14

1

無効なモジュールは、drupalサイトのパフォーマンスに影響しません。

ただし、サイトに役に立たないモジュールはダウンロードしないことをお勧めします。

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