Monday, September 19, 2016

Performance tuning for Web engine


Install Tsung on CentOS

Pre-requisites:
1. Install Erlang:

sudo yum -y update && sudo yum -y upgrade
sudo yum install epel-release

sudo yum -y install erlang perl perl-RRD-Simple.noarch perl-Log-Log4perl-RRDs.noarch gnuplot perl-Template-Toolkit


2. Get Tsung
wget http://tsung.erlang-projects.org/dist/tsung-1.6.0.tar.gz

3. Extract and Install
tar zxvf tsung-1.6.0.tar.gz
cd tsung-1.6.0
./configure && make && sudo make install

Note: Sample XML configurations are located in /usr/share/doc/tsung/examples/http_simple.xml

Setup up Cluster Testing with Tsung

1. Add cluster nodes info in each node's "/etc/hosts"
sudo vi /etc/hosts
# cluster nodes
192.168.10.10       n1
192.168.10.11       n2
192.168.10.12       n3
192.168.10.13       n4

2. Setup ~/.ssh/config file
vi ~/.ssh/config
Host n1
  Hostname n1
  User tsung
  Port 722
  IdentityFile /home/tsung/.ssh/my_key_rsa7
Host n2
  Hostname n2
  User tsung
  Port 722
  IdentityFile /home/tsung/.ssh/my_key_rsa7
.....

Test and Visualize Results
1. Start tsung on master server
tsung -f /home/tsung/test/selected_scenario.xml start

2. Plot graphs with Perl script
/usr/lib/tsung/bin/tsung_stats.pl --stats /home/tsung/.tsung/log/$tsung_path/tsung.log

Change Kernel params

vi /etc/sysctl.conf

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max = 65000

Source: http://tsung.erlang-projects.org/user_manual/faq.html#why-do-i-have-error-connect-emfile-errors

References:
 https://gist.github.com/huberflores/2827890
  https://github.com/ngocdaothanh/tsart
 https://gist.github.com/clasense4/47438a884cabca9e66c8 

 http://www.jeramysingleton.com/install-erlang-and-elixir-on-centos-7-minimal/

 https://jackiechen.org/2015/12/04/use-tsung-to-test-https-site/

No comments:

Post a Comment