
Apache、nginx、lighttpd、LiteSpeed/OpenLiteSpeed、Cherokee などを比較するベンチマークは数多くあります。
残念ながら、ベンチマークのほとんどは「小さな静的ファイル」タイプのようですが、これはまったく役に立ちません...小さな静的ファイルを提供するために Web サーバーを使用する人は誰でしょうか?
なぜ次のような PHP アプリケーションのデフォルト インストールのベンチマークを実行する人はいないのでしょうか。
- ワードプレス
- ドルパル
- phpBB
- メナルトギャラリー
- マジェント
- OpenCart
など
これにより、実際の使用状況下で何が最適に機能するかをより適切に示すことができ、ユーザーは自分のニーズに最も適したサーバーをより適切に把握できるようになります。
上記の人気のある PHP アプリケーションは、おそらく Web サーバー ユーザーの大部分のニーズを満たすでしょう。
もちろん、この種のベンチマークでは、MySQL、PHP などのパフォーマンスが関係し、Web サーバーの RAW パフォーマンス数値は得られません。しかし、そもそも RAW 数値を気にする人はいるでしょうか? 人々は比較パフォーマンスのみを気にしており、それがベンチマークをチェックする理由です。
この種のベンチマークを実行し始めると、競合製品間に大きなパフォーマンスの違いがないためサーバーの比較は意味がなく、インフラストラクチャ/セットアップにはさらに多くの最適化の注意を必要とする他の項目があるという結論に最終的に達する可能性があります。
ベンチマークを実行する人々は賢く、上記のすべてを知っていると確信しています...それではなぜ、価値のない「小さな静的ファイル」ベンチマークが依然として取得され続けるのでしょうか?
答え1
最も重要なベンチマークは、変更を加える前にアプリケーションに対して実行し、独自のサーバー環境の独自のハードウェアで再実行するベンチマークです。
実稼働前に複数の構成でサーバーをテストできる立場でない限り、アプリケーションまたは構成にフレームワーク X を使用するかフレームワーク Y を使用するかを選択しようとしている場合には、これは役に立ちません。
しかし、公開されているベンチマークを見ると、結果に影響を与える要因がたくさんあるという点ではあなたの言う通りです。それらは無価値なのでしょうか? 完全に無価値というわけではありません。特定のフレームワークまたはサーバーが複数のテストで良好なパフォーマンスを示している場合、おそらくあなたにとっても良好なパフォーマンスを示すでしょう。遅い場合は、おそらく比較的遅いでしょう。
他にも考慮すべき要素があるかもしれません。経験がなく、期限内に製品を展開しなければならない場合、高速なフレームワークの役に立たないでしょうか。それを保守する人々はそのプラットフォームの経験があるでしょうか、またはすぐに習得できるでしょうか。社内に特定の言語やサーバーの経験があり、保守のオーバーヘッドやモジュールや機能の追加が軽減されるかもしれません。バグがタイムリーに修正されることを確信できるように、積極的に保守されているプラットフォームが必要かもしれません。または、ヘルプが必要なときにアドバイスを提供してくれるアクティブなコミュニティがあるかもしれません。結局のところ、最初に構成して調整できない場合、最速のサーバーもあまり役に立ちません。
答え2
あなたは自分の質問に答えたと思います。静的ファイルのベンチマークは設定も測定も簡単です。アプリケーション スタックを追加すると、変数は 1 つ (Web サーバー) から数十に増えることになります。「PHP の構成はどうですか? MySQL サーバーの RAM が不足している可能性がありますか? ディスク構成は正しいですか?」など。
静的ベンチマークは、特定の Web サーバーが HTTP リクエストをどれだけ速く処理できるかをテストします。一般的に、Web サーバーに期待するのはそれだけです。アプリケーション サーバーの話になると、状況は完全に変わります。
公平を期すために、Web フレームワークと一部のアプリケーション サーバーにはベンチマークがあります。http://www.techempower.com/benchmarks/