私の調査結果に基づいて、EC2とLinodeの違いは何かに興味があります。うまくいかないことが何百万もあることを私は理解しています。どこから始めたらいいのかしら。
私は自分のブログのランディングページへのリクエストのタイミングを(Apache Benchmark経由で)行っています。約22のSQLクエリとかなりの量のhtmlがあります。2台のサーバーにまったく同じサイトをセットアップしました。
Web1-Linodeでホストされています(512サイズVPS)。
Web2-Amazonでホストされています(マイクロVPS)。
次に、両方に100の同時接続を確立することをテストしました。最初にテストを実行してデータベースをウォームアップしてから、実際に実行しました。
Web1-33リクエスト/秒。
Web2-1秒あたり5リクエスト。
次に、ページキャッシュをインストールしました。これは、完全なhtmlリターンをファイルに保存する場所です。したがって、PHPコントローラーを経由してデータベース接続を行う代わりに、静的htmlファイルを返すだけです。
Web1-1秒あたり32リクエスト。
Web2-1秒あたり88リクエスト。
Web1ではファイルキャッシングはあまり効果がないことに気付くでしょう。データベース/PHPは同じくらい速く戻り、1つのファイルを開いてそれを返すだけのようです。Web2では、最初のリクエストに比べて速くクレイジーになっていることに気付くでしょう。
私はこれらの測定を1日を通して何度も行ってきました。一度限りの問題ではありません。
これが私が知っていることです。
- どちらのシステムも同じです。両方を同じデプロイスクリプトで構成したので。
- Web2(Amazon)は、SAN(ファイルシステム)で実行されている可能性があります。
- Web1(Linode)は、ローカルハードドライブ(ファイルシステム)から実行されている可能性があります。
- その背後にあるCPUがわからない。それらは異なるCPUだと思います。CPUに大きな違いがあるとは思えません。
私は、キャッシュがない場合はWeb2が非常に遅くなり、キャッシュがある場合はWeb2が非常に速くなり、Web1がどちらの方法でも同じである理由を調べることに本当に興味があります。
あなたの考えは何ですか?CPU、IO?
ボトルネックを突き止めるために何をしますか?
クレイジーな負荷は見られません(「w」付き)。「iostat」で何が価値があるか(私が何を見るべきかに関して)100%ではありません。
ありがとう。