lost and found ( for me ? )

HTTP traffic generator : install curl-loader on Ubuntu 14.04 64bit


# uname -ri; tail -1 /etc/lsb-release
3.13.0-35-generic x86_64
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

curl-loader is HTTP/HTTPS performance testing tool which can simulate multiple clients

install packages which are required to build curl-loader.
# apt-get install libssl-dev build-essential

download the source code ( curl-loader-0.56.tar.bz2 ) and compile that.
# bunzip2 curl-loader-0.56.tar.bz2

# tar xvf curl-loader-0.56.tar

# cd curl-loader-0.56/

# make

# make install
mkdir -p /usr/bin
mkdir -p /usr/share/man/man1
mkdir -p /usr/share/man/man5
mkdir -p /usr/share/doc/curl-loader/
cp -f curl-loader /usr/bin
cp -f doc/curl-loader.1 /usr/share/man/man1/  
cp -f doc/curl-loader-config.5 /usr/share/man/man5/
cp -f doc/* /usr/share/doc/curl-loader/
cp -rf conf-examples /usr/share/doc/curl-loader/

QUICK-START file describes that some tuning tips and sample usage.
# ulimit -n 10000
# echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

sample configurations
# ls curl-loader-0.56/conf-examples/
10K.conf                          https.conf
60K.conf                          ipv6.conf
bax-login-logoff-noncycling.conf  log-hdr-body.conf
bax-logs.conf                     login-uas-cycling.conf
bax.conf                          login-uas-logoff-cycling.conf
big-load.conf                     multipart-formdata-post.conf
bulk-dual-url.conf                post-form-tokens-fr-file.conf
bulk.conf                         post-xml.conf
credentials.cred                  put.conf
custom-hdrs.conf                  random_file_records.conf
delete.conf                       rate-limit.conf
fetch-probability-once.conf       resp-errors.conf
fetch-probability.conf            some.xml
ftp-http.conf                     timers-random-range.conf
ftp-upload.conf                   url-randomize.conf
ftp.conf                          url-template-file.txt
get-forms.conf                    url-template-fr-file.conf
get-post-login-cycling.conf       url-template-resp-dynamic.conf
get-post-login.conf

Let’s use curl-loader!

curl-loader  10.0.0.10 ---- 10.0.0.20 apache

make load profile.
# cp /usr/share/doc/curl-loader/conf-examples/bulk.conf ./my_bulk.conf


i# grep -v ^# my_bulk.conf

BATCH_NAME= bulk  
CLIENTS_NUM_MAX=200 # Same as CLIENTS_NUM
CLIENTS_RAMPUP_INC=5
INTERFACE   =eth1
NETMASK=8  
IP_ADDR_MIN= 10.0.0.100
IP_ADDR_MAX= 10.0.0.200
IP_SHARED_NUM=3
CYCLES_NUM= -1
URLS_NUM= 1


URL=http://10.0.0.20
REQUEST_TYPE=GET
TIMER_URL_COMPLETION = 5000
TIMER_AFTER_URL_SLEEP = 500

run test
# curl-loader -f ./my_bulk.conf

check access logs.
HTTP accesses coming from multiple clients
root@ubuntu1404-vm2:~# tail -5 /var/log/apache2/access.log
10.0.0.101 - - [01/Sep/2014:23:40:58 +0900] "GET / HTTP/1.1" 200 11764 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
10.0.0.102 - - [01/Sep/2014:23:40:58 +0900] "GET / HTTP/1.1" 200 11764 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
10.0.0.100 - - [01/Sep/2014:23:40:58 +0900] "GET / HTTP/1.1" 200 11764 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
10.0.0.100 - - [01/Sep/2014:23:40:58 +0900] "GET / HTTP/1.1" 200 11764 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
10.0.0.101 - - [01/Sep/2014:23:40:58 +0900] "GET / HTTP/1.1" 200 11764 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.