web-dev-qa-db-ja.com

より多くの有効なモジュールがあると、サイトが遅くなりますか?

より多くの有効なモジュールがあると、サイトが遅くなりますか?
サイトに30個のモジュールをインストールしましたが、遅くなりすぎると思います。

13
enjoylife

より多くの有効なモジュールを使用すると、Drupalより多くのファイルがロードおよび解析されるため、ブートストラップが遅くなります。それを除いて、より多くの有効なモジュールを使用しても、必ずしもすべてのモジュールが低速であるとは限りません。リクエストされたすべてのページに対してコードを実行します。

たとえば、ビューをインストールし、フロントページビューのみを有効にした場合、要求されたページがノードページである場合、ビューは実行されません。ただし、Viewsモジュールはhook_menu_alter()を実装しており、ビューを有効にしていない場合でも実行されますが、Viewsモジュールは有効です。 hook_menu_alter()の実装は、メニューが再構築されるときに呼び出されます。これは通常、すべてのページ要求で発生するわけではありません。

11
kiamlaluno

はい。ただし、30は心配する必要はありません。 100を超えると問題が発生します;)

バイトコードキャッシュ(APCまたはXCache)をインストールして、多くのファイルを含めることによるスローダウンのほとんどを排除し、未使用のモジュールを定期的に削除するようにします(通常、すべてのプロジェクトは、開発中のある時点で未使用になるモジュールを収集します)。

15
Bojan Zivanovic

drupalサイトを高速化できるサイト構築中に留意すべき3つの点は次のとおりです。

  1. モジュールの数を減らす
  2. MySQLクエリログで低速なクエリを確認し、必要に応じてコードを調整/インデックスを追加します。
  3. キャッシング(ほとんどのユーザーが認証されないことを期待)

そして、モジュールの部分に関しては、明らかにより多くのモジュールの速度が遅くなります。それらはより大きなRAM。

それでも30〜60のモジュールがサイトにそれほど影響を与えることはありません。

サイトの読み込み時間とモジュール数の比率は100モジュールのようになり、サイトを350ミリ秒から650ミリ秒遅らせます。

あなたがそれらのポイントを覚えているuuold次のサイトを望んでください.. :)

1
user13530

@Bojan Zivanovicと@ki​​amlalunoの両方の応答を補うために、モジュールの相互作用に注意する必要があります。多くのモジュールがあると、悪いモジュールの相互作用のリスクが高まります(薬物相互作用のように)。 50以上のモジュールを持つことは危険になるので、同じタスクドメインに複数のモジュールを使用していないことを早期に確認する必要があります。

ブロック、ビュー、パネル、ビューを含むフィールド、ビューを含むブロック、ビューを含むパネルを含むブロックを含むページを作成する例として...アイデアは、通常の脳が理解できるものを取得することです(さまざまなページがどのように構成されるか) 。これは、いくつかの複雑な読み込み動作が非表示にされて連鎖している場合、パフォーマンスに大きな影響を与える可能性があります。別の例は、各コンテンツのいくつかのモジュールからいくつかのACLルールを追加することです。

パフォーマンスが心配な場合は、常にprofilingモジュールを使用し、新しいモジュールを追加するたびに違いを追跡してください。中にSQLを組み込んだ小さなフックやカスタムテンプレートを使用すると、ウェブサイトの時間を節約できます。

1
regilero