Markdorisonの答えは、基本的にこの問題を攻撃するために受け入れられている方法です。それをもう少し詳しく見ていきます。
D6のPressflowまたはD7のDrupal、Memcached、およびVarnishがすべて正常に機能する場合、VCLファイルをカスタムコード化する必要があります。出発点を作る無料のものがありますが、それらを常にプレイする必要があります。
Varnishを最適に動作させるには、デフォルトの-s file / path / to / fileではなく-s malloc xGで起動するようにしてください。また、Varnishを使用すると、できる限りニスの静的アイテムをキャッシュできます。
複数のWebサーバーがある場合は、VCLでVarnishに送信されたヘッダーからETagを削除します。Expiresも削除し、ヘッダーのAgeとmax-ageに単純に依存するため、ブラウザーをサイトに戻します。
バージョン1.5(2011年3月3日現在)は、Drupal.orgのMemcachedモジュールの最速バージョンです。私は通常、サーバーごとに単一のビンを使用して展開し、大規模な複数のビンへの接続のTCPトラフィックを低減します)
「パフォーマンス」のキャッシュを外部に設定し、Varnishなどのキャッシュプロキシに正しいヘッダーを送信する最大期間を設定します。
特定のページをVarnishで適切にキャッシュできない場合は、Web上のブログ投稿でリクエストの検査方法を詳しく調べてください。ここに私がしばらく前に書いた例の投稿があります:VarnishとDrupal Pressflowが匿名ユーザーのページビューをキャッシュするのを止めているもの
MySQLのInnoDB(またはXtraDBなどの他のプロバイダーの別の名前)を選択し、すべてのテーブルをそこに移動する必要があります。次に、このブログ投稿で基本的なチューニングのアドバイスを確認してくださいhttp://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
大きなバッファプールを持つことは基本的に重要です。サイトの負荷テスト時に、スロークエリログをオンにします。おそらく、最初に50ミリ秒以上かかるクエリをキャプチャしてからクエリを調整し、インデックスを使用してほとんどのクエリを実行し、かなり迅速に実行するまで、低速のログキャプチャ時間を繰り返し減らします。
他の基本事項には、APCをPHPに含めることが含まれます。mod_phpではなく高速のCGIを使用する場合は、適切なラッパースクリプトを設定して、PHPインスタンス間でAPCキャッシュを共有するために時間を費やしてください。また、APCキャッシュがメモリマップファイル内にあり、PHPの最後のビットをすべて圧縮していることを確認してください。