試験項目と試験方法

試験項目と試験方法

 今回、Webサーバーの性能測定をするにあたり、以下の2種類のベンチマークツールを利用して検証を行いました。これらのベンチマークツールを、サーバー機器とは別のきょう体のクライアント機器にインストールして使用します。

・ab(Apache Bench)
・http_load

 1つ目の「ab」はApacheに標準で付属しているベンチマークツールです。主なオプションとして同時接続数や発行リクエスト数、URLを指定して実行することで、リクエスト処理の成功/失敗数、1秒間で処理したリクエスト数(Requests per second)、転送速度や接続時間の内訳なども計測することが可能です。

 2つ目の「http_load」はACME Laboratoriesのhttp_loadのページ(http://www.acme.com/software/http_load/)にて配布されているベンチマークツールで、abと同様に同時接続数や発行リクエスト数、URL(複数可)を指定して実行できます。結果として得られる項目はabより少ないものの、複数のURLに対してテストすることが可能です。

 上記のソフトウエアを使い、検証対象の各Webサーバーソフトウエアに、3種類のサイズ(3KB、100KB、3MB)のファイルを配置し、それぞれのファイルに対して、同時接続数に変化を加えながらリクエストを発行し、リクエスト処理量を検証します。

 なお、今回はWebサーバーソフトウエアの性能を計測するため、静的ファイルのみの配信を対象としています。

 試験項目を図2の上にまとめています。例えば、試験項目1を実施する場合は、adでは以下のコマンドを実行します。

$ ab -c 10 -n 1000 [URL]

 同様にhttp_loadでは以下のコマンドを実行します。

$ http_load -verbose -parallel 10 -fetches 1000 [URLを指定したファイル名]

 なお、試験項目ごとに試験を3回繰り返し実施し、それぞれの平均値を結果としました。

abを利用した試験結果

 abを利用した検証を実施した結果を図2の下のグラフにまとめました。検証結果について解説していきましょう。

 最初に試験項目1~3の3KBのファイルに対してリクエストを発行した場合についての結果を見ていきます。

 Webサイトであれば、アイコン画像やJavaScript、CSSなどの比較的小さなファイルを多量に配信することも多いでしょう。それらを想定したこの試験では、図2のグラフから、3KB程度の小さなファイルの配信には軽量サーバーであるlighttpdがApacheよりも優れていることがわかります。

 1秒間で処理したリクエスト数(Requests per second)で、Apache(prefork)と比較すると、同時接続数が10の場合で約1.44倍、同時接続数100の場合で約1.55倍、同時接続数1000の場合で約1.78倍の処理量向上となっています。

 なお、Apache(prefork)とApache(worker)では、誤差のレベルの違いしか出ず、ほぼ同等の性能であることがわかります。

 続いて、試験項目4~8の100KBおよび3MBのファイルに対してリクエストを発行した場合についての結果を見ていきましょう。

 これらの2種類のファイルに対して同様の試験を行ったところ、図2に示すように、100KBのファイルに対して同時接続数1000で実施した場合は、lighttpdがApache(prefork)に比べ、リクエスト処理量が約1.25倍高いという結果でしたが、そのほかはApacheおよびlighttpdともに、それほど大きな差は出ませんでした。

 この場合、上記に挙げた「100KBのファイルに対して同時接続数1000で実施したケース」を除いた試験項目では、性能試験を行った際の転送量(Transfer rate)が、約110MB/秒(約880Mbps)となっており、ネットワークスループットの限界点に到達しているものと考えられます。

 100KBおよび3MBのファイルに対しての試験については、ネットワークがボトルネックとなってしまっているため、Webサーバーの性能を比較する場合、この試験結果は適切ではありません。

 この結果より、近ごろのハードウエアスペックの著しい進歩を考慮すると、100KB以上の大きなサイズのファイルを、比較的多量に配信する場合は、Webサーバーの性能限界点よりも、ネットワークの通信帯域がボトルネックになりそうだと言えるでしょう。

 なお、3MBのファイルに対してリクエストを発行した場合も、上記と同じ理由により、どのWebサーバーソフトウエアも結果はほぼ同じだったため、図2から結果を省いています。

 次ページでは、abとは別のベンチマークツールであるhttp_loadを使った検証結果を紹介します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30