funasaki memo

このブログ上の投稿は個人のものであり、所属する企業を代表する投稿ではありません。所属:AWSのSolutions Architect

curl-loaderを使ってみる

Webサーバーへの負荷かけツール curl-loaderを使ってみる。
インストール
今回はAmazon Linux 上にインストールする。
Amazon Linux には、デフォルトでは make や gcc などが入っていないため、事前にインストールする。

yum install make gcc patch openssl-devel

curl-loaderをダウンロードする。

wget http://sourceforge.net/projects/curl-loader/files/latest/download?source=files

展開して、コンパイルして、インストール。

bunzip2 curl-loader-0.56.tar.bz2
tar xvf curl-loader-0.56.tar
cd curl-loader-0.56
sudo make
sudo make install

以上で、インストール完了。makeの実行完了には数分ほどかかる。

conf ファイル作成
curl-loader.conf ファイルを作成。中身は下記。

########### GENERAL SECTION ##################
BATCH_NAME= 10K-clients
CLIENTS_NUM_MAX=5000
CLIENTS_NUM_START=100
CLIENTS_RAMPUP_INC=50
INTERFACE =eth0
NETMASK=255.255.255.0
IP_ADDR_MIN=xx.xx.xx.xx
IP_ADDR_MAX=xx.xx.xx.xx
CYCLES_NUM= -1
URLS_NUM= 1

########### URLs SECTION #######################

URL=http://xxxxxxxxx/index.html
URL_SHORT_NAME="local-index"
REQUEST_TYPE=GET
TIMER_URL_COMPLETION = 0
TIMER_AFTER_URL_SLEEP = 0

IP_ADDR_MIN と IP_ADDR_MAX で IP アドレスのレンジを指定できる。このレンジの間にある複数のIPを使って、負荷をかけることができる。つまりは、負荷かけ側が異なるIPでアクセスできる。
が、Amazon EC2の環境では、この方法は成功していない。自身のIPアドレスをMINとMAXに指定することで、成功した。

負荷かけ実行
作成したconfファイルを指定する形で、下記のように実行する。

sudo curl-loader -f ./curl-loader.conf

以上で、成功!