PHPを実行しているEC2サーバー上のApacheの負荷を減らすために使用できるキャッシュ用の優れたモジュールまたはシステムは何ですか?なぜそれらを選択するのですか?
速度を上げるための一般的な業界標準の手法をいくつか紹介します。正確な構成に応じて、それらを試すことができます。
Memcachedは汎用の分散メモリキャッシュシステムであり、データとオブジェクトをRAMにキャッシュして、外部データソース(データベースまたはAPIとして)を読み取る必要があります。
Varnishは、コンテンツの多い動的Webサイト用に設計されたHTTPアクセラレータです。クライアント側のキャッシュとして誕生したSquidや主にOriginサーバーであるApacheなどの他のHTTPアクセラレータとは対照的に、VarnishはHTTPアクセラレータとしてゼロから設計されました。
Page Speedは、待ち時間を改善するためにWebサイトに加えることができる改善点を特定するツールおよびライブラリです。 mod_pagespeedは、Apacheサーバーでのこれらのルールの適用を自動化します。 HTML、CSS、JavaScript、および画像はWeb配信プロセス中に動的に変更されるため、Webサイトの保守方法を変更することなく、PageSpeedが推奨するベストプラクティスを使用できます。
http://googlewebmastercentral.blogspot.com/2010/11/make-your-websites-run-faster.html
HBaseは、GoogleのBigTableをモデルにしたオープンソースの非リレーショナル分散データベースであり、Javaで記述されています。これは、Apache Software FoundationのHadoopプロジェクトの一部として開発され、HDFS(Hadoop Distributed Filesystem)上で実行され、HadoopにBigTableのような機能を提供します。つまり、大量のスパースデータを格納するフォールトトレラントな方法を提供します。
スロースタートは、多くのインターネットアプリケーションで使用されるデータ転送プロトコルであるTCPで使用される輻輳制御戦略の一部です。スロースタートは、他のアルゴリズムと組み合わせて使用され、ネットワークが送信できるよりも多くのデータを送信しないようにします。つまり、ネットワークの輻輳を回避します。
http://blog.benstrong.com/2010/11/google-and-Microsoft-cheat-on-slow.html
cwdの答えは素晴らしいです。処理がPHPを多用する場合は、PHPオペコードキャッシャー(APC、eaccelerator、xcache)を追加するだけです。
mod_pagespeed
提案のcwdに+1。
負荷を減らすことが目標である場合Apache上そしてApacheがHTTPリクエストを受信する最前線のデーモンであると仮定すると(つまり、ユーザーとApacheの間にキャッシュがない)、多くの注意を払う必要がありますクライアント側の最適化。具体的には、ページの重みを減らし、ページの読み込みに必要なリクエストの数を減らします。 mod_pagespeed
はこれらの多くをその場で実行しますが、Apacheモジュールであるため、これらの最適化を実行するためだけに少しのApache負荷が発生します。
Apache構成を詳細に調整する必要なしに、有効期限ヘッダーなどを使用してクライアント側のキャッシュを最大化することができます。これは利点です。他のいくつかの最適化(CSSファイルとJavascriptファイルを組み合わせたりバンドルしてページの構築に必要なそれぞれの数を減らしたり、CSS画像スピリットを使用してページごとに読み込まれる画像の数を減らしたり)を自分で行って、 mod_pagespeed
にロードします。
GoogleのPageSpeedツール( mod_pagespeed
ページ からリンク)および/または Yslow拡張子Firebug Firefoxを見ることができますプラグインを使用して、ページに適したクライアント側の最適化を見つけます。