Drupalキャッシング

最近、Drupalの私のサイトが遅くなり始めたという事実に直面しました。 また、サイトは特に訪問されていません。 最終的に、問題は別のホスティングに切り替えることで解決しました(Rucentrの共有ホスティングはどうにか我慢できませんでした)が、これについてはお話ししたくありませんが、遭遇したキャッシングによるDrupalアクセラレーションの問題についてです。



それでは、Drupalにはどのような加速ツールがありますか?







-admin / settings / performanceの組み込みキャッシュ。 キャッシングには、通常モードとアグレッシブモードの2つのモードがあります。 多くのモジュールと競合するため、Aggressiveの使用は推奨されません。 通常、通常は深刻な影響はありません。 匿名ユーザー専用に設計されており、CAPTCHAが機能するページをキャッシュしません。



- ブーストモジュール。 組み込みキャッシュと同様に、このモジュールは匿名ユーザー向けに設計されています。 データをディスクに保存します。 ブーストを有効にする場合は、通常のキャッシュを無効にすることをお勧めします。 Boostは匿名ユーザー向けに静的ページを事前に準備するため、匿名ブーストを有効にすると、サイトは「飛ぶ」ことになります。 残念ながら、ブーストには次の欠点があります。 サイト上のページを適切に更新するには、キャッシュを定期的にクリーニングする必要があります(boostは、変更が発生すると部分的にキャッシュをクリアしようとしますが、これが常に正常に機能するとは限りません)。 したがって、サイト全体のキャッシュは常に再構築する必要があります。 それはすでにホスティングに負荷をかけているため、匿名ユーザー向けにサイトが「飛ぶ」という事実につながり、登録ユーザー向けにも速度が低下します。 さらに、キャッシュを再構築するときに、外部ソースから挿入されたイメージを圧縮して、サイトのトラフィックを増やすことができます。 交通量が限られている関税がある場合、これは深刻な混乱を招く可能性があります。



-匿名ユーザー用のnginxを使用したキャッシュ。 ここでは、 Habréの優れた記事で詳しく説明されています 。 私はこれを自分で追加します:すべての種類の写真を提供するのはApacheではなく彼になるようにnginxを設定することを忘れないでください。 これにより、RAMを大幅に節約できます。



-登録ユーザーのページをキャッシュするためのauthcacheモジュール。 キャッシングを有効にするロールのセットを定義します。 すべてのユーザーロールがこのセットに該当する場合、ページはキャッシュされます。 実際、キャッシュされたページバージョンは、許可されたロールのサブセット用に構築されます。 したがって、このモジュールを有効にする場合は、異なる役割を少なくしてください。 また、匿名ユーザーに対しては有効にしないでください-ブーストはこれをはるかに改善します。 ユーザー名のようなもの、authcacheはテンプレートとしてキャッシュし、直接ページ出力に置き換えます。 したがって、登録ユーザーの場合、純粋なhtmlではなく、ある程度の準備が必要です。 覚えているように、ブーストは常に機能しているため、サーバーは私たちと忙しいので、これは遅くなる可能性があります。 cacherouterモジュールを使用してデータを保存することをお勧めします。cacherouterモジュールにはオプションがあります。 ディスクストレージは、私に最適でした。



-1つのファイルをロードするためのjavascriptとcssの最適化。 組み込みキャッシュページで有効にします。 モジュールを更新するときにキャッシュをクリアすることを忘れないでください-そうしないと、CSSが一部のユーザーに対してまったくロードされない場合があります! 実際、上記のすべての方法では、サイトでの変更後にキャッシュをクリアすることをお勧めします。



-データuriを使用して画像を直接cssに挿入します。 css_emimageモジュールによって実装されます。



ここで、実際、私の意見では、Drupalを加速する主な方法です。 そして、もちろん、優れたホスティングへの移行も促進します。 そして、私はまだ問題を要約しています:



-弱いホスティングでは、キャッシュはあなたを救いません。 キャッシングはホスティングにも常に負荷がかかるためです。

-匿名または登録済みのどちらのキャッシュが重要であるかを判断する必要があります。 おそらく両方が同時にうまく機能しないでしょう

-あなた(サイト管理者)は基本的にあなたのアカウントの下でキャッシングがどのように動作するかを見ません

-モジュールを更新するときにキャッシュ全体を無効にすることを忘れないでください

-支出トラフィックの増加を有効にしました

-そして一般的に。 Drupalは快適ですが、重いです。 私はそれを認めなければなりません。



All Articles