レンタルサーバーの契約前にApache Benchでレスポンスを確認しよう
2014/11/22
レンタルサーバーでWordPressなどを利用してブログやサイトを公開しようと思った際に、
最初に悩むのがサーバーをどこにするかという点です。
私も最初、悩みました。
可能であれば実際にサイトを公開している環境で表示の確認をしたりしたいと思うものです。
そこで実際に各サーバー上にWordPressを設置して表示の確認ができるようにしました。
使いたいサーバーで公開しているサイトは?
レンタルサーバーの契約前にサーバーのレスポンスなどを確認するに当たっては、
当然、利用したいサーバーを使っているサイトに出会えれば、
サイトの表示を確認することができます。
しかし、この環境で公開しているサイトは?となると、
探すのは大変なものです。
そうなると、実際に契約するなり利用登録するなりして、
WordPressを自分で公開して検証するのですが、これがとても面倒な作業です。
誰かが検証した環境がもしあるなら、それを他の人が見ても同じだと思うのです。
たぶん、自分が検証した環境がそのままあると、
他の人にとっても手間が省けていいんじゃないだろうか?
そんな素朴な気持ちからこの投稿を作成しています。
表示確認ができるサイト情報
では実際に表示の確認ができる環境を以下にご紹介しておきます。
無料、格安、有料と各サーバーを利用して公開しています。
この動作環境では以下のサーバー環境を現在公開しています。
- xdomain - 無料
- 000webhost.com - 無料
- minibird(ミニバード) - 格安
- 100円サーバー - 格安
- XSERVER - 有料
- KAGOYA - 有料
レンタルサーバーの契約前にApache Benchでレスポンスを確認
では、こうした環境でパフォーマンスをチェックする場合に、
簡単に利用できるのがApache Benchによる確認です。
ローカル環境に対してApacheがインストール済みである必要がありますが、
ローカル環境でApacheがインストールできていれば、
実際の運用サイトを事前にローカル環境でチェックができたりと便利です。
これからブログなどを公開するのであれば、Apacheをインストールしておく方がいいと思います。
Apacheのローカルインストール
ローカル環境にApacheをインストールする手順は以下でご紹介しています。
Apache Benchの実行準備
Apacheをインストールしたら Apache Benchを利用したチェックが行えます。
Apache Benchの実行ファイルは、Apacheをインストールしたフォルダ内にあります。
Apacheを「c:\Apache\」にインストールした場合は以下になります。
1 |
c:\Apache\bin\ab.exe |
Apache Benchの公式ドキュメントは以下に公開されています。
ab – Apache HTTP server benchmarking tool – Apache HTTP Server Version 2.2 (引用抜粋)
-c concurrency
Number of multiple requests to perform at a time. Default is one request at a time.(意訳)Numberに指定した数の複数要求を一度に実行します。デフォルトは、一度に1つの要求です。
-n requests
Number of requests to perform for the benchmarking session. The default is to just perform a single request which usually leads to non-representative benchmarking results.(意訳)Numberに指定した数のリクエストをベンチマークセッションのために実行します。デフォルトでは単一の要求を行ないます。
この -c と -n を利用することでベンチマークで発生させる負荷の調整を指定します。
Apache Benchの実行
Apache Benchの実行例は以下のような感じです。
これで、10回の同時接続要求で100回のページリクエストを行うことになります。
実行先のURLは「http://000webhost.rensrv.com/」を指定しています。
1 |
C:\Apache\bin>ab -n 100 -c 10 http://000webhost.rensrv.com/ |
Apache Benchは基本的に自身が管理しているサーバーに対して行うものとご理解ください。
自分以外の方が利用しているサーバーにこうした負荷をかけることは、
マナー違反であると言えますし、場合によっては攻撃と解釈されることもあるでしょう。
自分が管理しているサーバー以外に実行されることはお控えください。
実際にApache Benchを実行すると以下のような結果が得られます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\>cd Apache\bin C:\Apache\bin>ab -n 100 -c 10 http://000webhost.rensrv.com/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 000webhost.rensrv.com (be patient).....done Server Software: Apache Server Hostname: 000webhost.rensrv.com Server Port: 80 Document Path: / Document Length: 251 bytes Concurrency Level: 10 Time taken for tests: 46.029 seconds Complete requests: 100 Failed requests: 97 (Connect: 0, Receive: 0, Length: 97, Exceptions: 0) Write errors: 0 Non-2xx responses: 3 Total transferred: 815895 bytes HTML transferred: 794116 bytes Requests per second: 2.17 [#/sec] (mean) Time per request: 4602.863 [ms] (mean) Time per request: 460.286 [ms] (mean, across all concurrent requests) Transfer rate: 17.31 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 330 453 513.3 360 3364 Processing: 675 3929 1570.0 3285 6589 Waiting: 647 2530 1512.8 2175 6259 Total: 1039 4382 1619.9 3650 6939 Percentage of the requests served within a certain time (ms) 50% 3650 66% 3984 75% 6565 80% 6584 90% 6639 95% 6900 98% 6924 99% 6939 100% 6939 (longest request) C:\Apache\bin> |
Apache Benchの結果確認
Apache Benchに表示されている結果は、ヘルプのから読み解くことができます。
ab – Apache HTTP server benchmarking tool – Apache HTTP Server Version 2.2 (引用抜粋)
Complete requests
The number of successful responses recieved
(意訳)受信に成功した応答の数Failed requests
The number of requests that were considered a failure. If the number is greater than zero, another line will be printed showing the numer of requests that failed due to connecting, reading, incorrect content length, or exceptions.
(意訳)失敗したと見なされたリクエストの数。 数がゼロよりも大きい場合には、別のラインが原因の接続、読み取り、不正なコンテンツの長さ、または例外に失敗した要求のNUMERを示す出力がされます。Requests per second
This is the number of requests per second. This value is the result of dividing the number of requests by the total time taken
(意訳)これは、秒あたりの要求の数である。この値は、総時間による要求の数を割った結果である。
22、23行目に注目すると以下のように出力されています。
100の応答のうちに、97が失敗とみなされた応答になっています。
この要求の失敗が発生していないことは重要な要素です。
22 23 |
Complete requests: 100 Failed requests: 97 |
また総要求時間から1秒あたりに処理された要求数を確認することもできます。
この場合、1秒間に2.17回の要求が処理されたことになります。
この値が大きいほど処理のパフォーマンスがいいという判断ができます。
29 |
Requests per second: 2.17 [#/sec] (mean) |
その他の結果は公式ヘルプからそれぞれを確認して頂ければと思いますが、
エラーが発生していないか、同時接続要求が十分に処理ができているかなどの判断ができます。
さいごに
こうしたチェックを事前にしておくことは、
サイトの運用において、長期的に見た時にアクセスが集中して、
サイトの引っ越しなどをしなければならない事態を減らすことができることになります。
アクセスが少ないうちはいいのですが、
サイトの引っ越しには細心の注意が必要ですし、一定のリスクを伴います。
予算が許すのであれば極力パフォーマンスがよく、
コストがかからないサーバーを選んでおきたいものです。
WordPressはWordPress Foundation の登録商標(第5049965号)です。
WordPressロゴ、アイコンその他のマーク等はWordPress Foundation の商標であり、
WordPress Foundation の著作物です。
WordPress.comはWordPress Foundation が管理運営を行うドメインならびにサービスの名称です。
WordPress.com、WordPress.net、WordPress.org、WordPress.tv、
WordPressFoundation.orgはWordPress Foundationが
管理運営を行なう正式なトップレベルドメインであるとともに、
WordPress Foundationが運営を行うサービスの名称です。
wordpressはFree Software Foundation, Inc.によってGPL2+でライセンスされています。
関連記事
-
wordpressの投稿にページ送り(next page,pagenation)を表示する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
VaultPress™を利用して、手動でサイト移転(引っ越し)の手順
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
投稿IDなどの各種IDの確認を簡単にしてくれるShowID for Post/Page/Category/Tag/Commentの利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
指定したWordPressカテゴリやタグの投稿でバナー(Google AdSesne)を表示しない方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
印刷をJetpack by WordPress.comで行う動作
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
wordpress.comメールアドレスを利用してJetpack by WordPress.comのメール投稿する
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
GoogleAnalyticsのユニバーサルアナリティクスコードを取得する(追加)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
StatCounter無料アクセス解析の利用にStatCounter_v1.6.5-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
wordpressプラグインのバージョン違いをテスト(動作確認)する方法
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
JetPackのカスタムCSSエディタのACE Code Editorが表示されない場合
Google or AdMax Promotion(it) 禁断の機能がau公式 …