質問: Webブラウザ負荷テスト時のタイムアウトエラーについてです。 自サイトの負荷テストで複数のWebブラウザ(Google Chrome)を同時に動かし何秒でレスポンスが返ってくるかを計測しています。 複数のWebブラウザを1台のPCで動作させているのですが、タイムアウトエラーとなってしまう可能性が高い(全体のリクエストの37%程度)、また全体的にレスポンスが遅い(通常は1秒もかからないのに平均5秒程度)です。 ■質問 何が原因でタイムアウトエラー・速度低下となってしまうのか、その原因を切り分け・特定したいのですが、何か良い方法・ツールはないでしょうか? また以下の情報から原因予想が立ったら教えて頂けますでしょうか? どんなささいな情報でも解決に向う可能性があるので、ご教授下さい。 ■構成 PC→ルータ(市販の安い物)→ハブ(市販の安い物)→光モデム→マンションVDSL集合装置→インターネット(プロバイダ)→自サイトサーバ ■ポイント 上記構成のどこがボトルネックでタイムアウトになってしまうのか、原因の切り分けがしたいのです。 ■動作情報 【1台のPCで10個のブラウザ×20アクセス】これが1セット 1セットが完了したら次のセットへ、というオペレーションを自動で行っています。 ■数値情報 またアクセス中のリソースは以下の通りとなります。 CPU : 30~50% ネットワーク受信 : 10Mbps~45Mbps ※MAX100Mbpsの回線なので単純にネットワークの回線速度が足りていないのでしょうか? また、夜間にタイムアウト回数と速度低下が特に顕著になる傾向があります。 やはりマンションVDSL集合装置→インターネット(プロバイダ)あたりが原因なのでしょうか? それともCPUを結構使っているので、単純にPCのCUPスペックが足りていないのでしょうか? ■ツール情報 Selenium WebDriverというテストツールを使用してWebブラウザ(Google Chrome)を自動操作しています。 ■環境 Win8.1 Pro Google Chrome Selenium WebDriver
回答: 「CPUを使っている」の根拠となる数字がよく分かりませんが、使用率が100%に張り付いていないならCPUにはまだ余裕があります。ディスク・ネットワークなどのIOで待ちがあるはずです。 いろいろな可能性はありますが、お察しの通り「ネットワークの帯域が足りていない」というのはボトルネックの候補の一つと言えます。 フレッツ網とISPの境界で詰まっていることが顕著になっているようで、夜間の利用者が多い時間帯にその影響が出ているのかもしれません。しかし、お使いのISPが“詰まっている”状況をリアルタイムで公開しているはずもなく、ボトルネックと断言はできません。 お使いのISPの帯域を測ることが目的ではないなら、ISPを経由しない形で、なんなら不確定要素を排除して直接サーバに負荷をかけるようにしてください。 自宅から負荷をかけたときのレスポンスより、「サーバーに負荷がかかるときに何が起きるか」がまずは重要です。その次に、サーバーに負荷がかかっている状態で自宅から閲覧してみるのは手かもしれません。