投稿ナビゲーションこの記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。負荷テストツールであるSiegeとSproxyで、より実際のアクセス状況に即した負荷テストを行うことができるということで、試してみました。概要Sproxyとは、Siegeが読み込む為のURLリストを収集してくれるツールで、Perl製のプロキシサーバです。このSproxyを使って、以下の流れで負荷テストを行いたいと思います。wgetの再帰ダウンロード機能をSproxy経由で用いて、負荷テスト対象に対するURLを収集します。wgetとsproxyで効率的にURLリストを作成できたら、siegeで負荷テストを行います。SiegeはURLリストがあると、そのリストの中からランダムにアクセスするので、実際のユーザのブラウジングに近い、リアルなアクセス状況を想定した負荷テストを行うことができるというものです。Sproxyでは、その詳細を確認していきたいと思います。インストール環境構築siegeとsproxyに必要なものをインストールしておきます。install負荷テストの事前準備Sproxyの起動まずは、sproxyを起動させます。sproxyを起動させると、localhostに対して9001番ポートをListenした状態で起動します。次に、sproxyをプロキシとして、wgetで負荷テスト対象のサイトをクロールしてURLを収集します。Site>"-rオプションで再帰的に指定ダウンロードすることで、wgetをクローラとして動かしています。ちなみに再帰ダウンロードとは、あるページを指定した時に、そのページに含まれているリンク先も再帰的に取得できることを意味します。wgetのオプションここで利用しているwgetのオプションの意味は以下の通りです。.wgetrc形式のコマンドを実行する~/.wgetrcが必要な場合は、下記のように書きます。http_proxy]について今回は上記の.wgetrcを使わないので、環境変数http_proxyをコマンドライン上で指定しています。http://yyyyyyyy参考ページLinux,Windowsのプロキシ設定あれこれWGETでPROXYを指定する。robots=on]についてrobots.txtを無視するかしないか、という設定です。onにすることでrobots.txtに従います。Standardを遵守するという意味合いになります。https://ja.wikipedia.org/wiki/GNU_WgetURLリストのユニーク化sproxy経由で収集したURLには重複しているものがあるので、ユニークにします。下記の意味は、「同時接続ユーザ数は50で、コネクションあたりのリクエスト数が10のアクセスが10秒間来た」という状況を想定しています。アクセスするURLは、uniq_urls.txtにあるリストからランダムに選ばれます。-dはリクエスト間の間隔(秒)を指定するものですが、負荷テストにおいてはピーク時を想定するものと思いますので、デフォルトの1としています。HTTPレスポンスコード等のアクセス状況を標準出力に出力します。リクエスト間の間隔(秒)を指定する。