Curl-loader: Install di Ubuntu

From OnnoWiki
Revision as of 12:00, 7 June 2015 by Onnowpurbo (talk | contribs) (New page: 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...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
HTTP traffic generator : install curl-loader on Ubuntu 14.04 64bit
  1. 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 http://curl-loader.sourceforge.net/

install packages which are required to build curl-loader.

  1. apt-get install libssl-dev build-essential

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

  1. bunzip2 curl-loader-0.56.tar.bz2
  1. tar xvf curl-loader-0.56.tar
  1. cd curl-loader-0.56/
  1. make
  1. 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.

  1. ulimit -n 10000
  2. echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse

sample configurations

  1. 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.

  1. 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

  1. 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)"


Referensi