1

私はDrupal6のインストールで誰かを助けています、そして彼らはコンテンツタイプを定義する段階にあるだけですが、彼らはサイトのパフォーマンスに非常に悩まされています。モジュールリストをロードするだけで30秒以上かかる場合があり、コンテンツタイプのインポートには3分近くかかりました。

これは大規模な共有UNIXシステムにインストールされており、同じサーバー上で他のD6インストールを実行していますが、実際の問題はありません(多少の速度低下はありますが、それほど悪いことはありません)。私は今日の午後、サイト上のすべての非コアモジュールを無効にすることに時間を費やし、モジュールリストページの読み込み時間を約5秒に短縮することができました。モジュールのグループを再度有効にすると、パフォーマンスに最大の影響を与えたのはCCKファミリのモジュールであるように見えました(モジュールリストのページ読み込み時間が15〜20秒増加しました)。

繰り返しますが、私はこのサーバー上にCCK(およびほとんど同じ他のモジュール)を実行していて、このようなことを経験していない他のサイトを持っています。主な違いは、この非常に遅いサイトには、大量のコンテンツタイプとCCKフィールドが定義されていることです。46の個別のコンテンツタイプと162のCCKフィールドがあります。

サイトのパフォーマンス(少なくともコンテンツタイプの作成と編集に関係する特定の操作)とコンテンツタイプおよびカスタムフィールドの数との間には直接的な関係があるという結論を導き出しましたが、正確に何を判断することはできませんでしたこのコンテンツタイプとフィールドの影響は、それらの影響を軽減するためにできることがあるかどうかです。

Develモジュールをインストールしましたが、[モジュール]ページで最大のパフォーマンス低下は、cache_menuに関連するクエリにあることがわかりましたが、それがコンテンツタイプやフィールドの数に直接関連しているかどうかはわかりません。

どんな指導も大歓迎です!

ありがとう、ポール

4

2 に答える 2

1

まず、モジュール ページは、Drupal のすべての内部キャッシュを完全にフラッシュし、それらを再構築して、新しくインストールされたモジュールに最新のデータが含まれるようにするため、確かに邪悪な獣です。これは、サイトのパフォーマンスの良い予測因子ではありません (通常、特定の管理タスクのみがこの種のキャッシュをフラッシュするため)。

2 つ目: コンテンツ タイプをインポートすると、これらのキャッシュもフラッシュされます。これは、CCK もすべてが最新であることを確認したいためです。最適ではありませんが、これで完了です。

最後に: CCK フィールドとコンテンツ タイプの数は、キャッシュがフラッシュされて再構築されるときに実行される作業量に影響します。CCK は、定義されたすべてのコンテンツ タイプとそのフィールドに関するすべての情報を取得し、それらすべてを記述するデータ構造を構築し、そのキャッシュ バージョンを後で参照できるように使用します。数百のフィールドと数十のコンテンツ タイプがあるため、データのキャッシュを再構築するのに時間がかかり、モジュール ページや新しいコンテンツ タイプをインポートするときに発生する遅延が悪化します。

幸いなことに、この特定の問題は、サイトの全体的なパフォーマンスに大きな影響を与えず、キャッシュをフラッシュする管理アクションだけに影響を与えます。

于 2009-08-05T21:29:13.923 に答える
0

これは、別の Drupal の質問に対する回答と同じです。Eaton の回答で問題が解決しない場合は、Views モジュールと動的メニューの再構築を確認する必要があります。毎回、メニューが再構築され、数百または数千ものクエリが発生します。結合の方法によっては、同じテーブルで 2 つの類似した結合が発生し、クエリの数が 2 倍になる可能性があります。詳細はこちら

于 2009-08-11T19:24:51.253 に答える