負荷検証時のネットワークの詰まり
ワードプレスで作成されたページの負荷検証を行っています。
10分間程度のみ7000-10000アクセスが発生する想定でテストしております。
テストに使用しているツールはjmeter
シナリオは10分間の間指定したアクセス数を等間隔で発生させるようにしています。
テストを行うと以下のような現象が起きており、原因の切り分けがうまくできず困っています。
10分間7000アクセスで検証しております。
検証1
そのままのページで検証。
半分以上のリクエストが失敗し、レスポンスを受け取っておりません。
エラーコードが返ってきていないので、apacheが何も返せていない状況なのかと考えました。
検証2
DBの処理がもたついているのとも考え、表示されるページを保存し、静的ページで検証。
全てのリクエストが遅延なく(ロードアベレージも4コアで1を超えない)レスポンスを受け取れました。
DBの問題?かと思ったのですが、それだと、apacheから何かレスポンスを受け取るのではと思いました。
※検証1で受け取るレスポンスのほとんどがapahceのレスポンスではないエラーとなっています。(エラー内容1)
一部は、CSSなどのファイルが読み込めないなどのエラー(エラー内容2)
レスポンスがないというのは、こちらから送信したリクエストがルーターなどで詰まっている?のかなと思い始め、
1 大量のアクセスを送信しているので、ネットワークが詰まってしまってリクエストがそもそも送信できていない。
2 受け取ったデータ量が多すぎてサーバーはレスポンスを返しているが、受け取れていない
と考えたのですが、この可能性はありますでしょうか?
ただ、こうなるとどのように、リクエストを送信できているか確認ができるのでしょうか?
サーバーはマネージドサーバーのため、ルート権限がなく、ログなどを仕込むことなどが出来ません。
よろしくお願いします。
-------------------
エラー内容1
Load time: 11096
Latency: 0
Size in bytes: 1807
Headers size in bytes: 0
Body size in bytes: 1807
Sample Count: 1
Error Count: 1
Response code: Non HTTP response code: java.net.SocketException
Response message: Non HTTP response message: Socket operation on nonsocket: connect
Response headers:
HTTPSampleResult fields:
ContentType:
DataEncoding: null
エラー内容2
Load time: 45706
Latency: 8415
Size in bytes: 656299
Headers size in bytes: 10123
Body size in bytes: 646176
Sample Count: 1
Error Count: 1
Response code: 200
Response message: OK
Response headers:
HTTP/1.1 200 OK
Date: Mon, 24 Dec 2012 03:07:21 GMT
Server: Apache/2.2.23
X-Powered-By: PHP/5.2.17
X-Pingback: http://www.fujisawa.hs.nihon-u.ac.jp/wp/xmlrpc.php
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
HTTPSampleResult fields:
ContentType: text/html; charset=UTF-8
DataEncoding: UTF-8
補足
用途によって、使い分けた方が良さそうですね。 ありがとうございます。