Hi All,
I just got a stable configuration that allowed me to saturate the web
server and I would like to share my tweaks with you as I think this
will be useful for other people too.
Here is what I changed.
Host machine configuration
1) Increase the maximum number of open files.
Add the following to /etc/security/limits.conf:
* hard nofile 20480
* soft nofile 20480
2) Change some sysctl parameters
sysctl -w net.core.netdev_max_backlog=4096
sysctl -w net.core.somaxconn=4096
sysctl -w net.ipv4.tcp_max_syn_backlog=4096
Web Server:
1) PHP-FPM parameters
Increase pm.max_children in /etc/php5/fpm/pool.d/www.conf
pm.max_children = 64
2) Nginx
Disable logs in the file /etc/nginx/sites-available/default. This
should be done after making sure that the setup is correct. Otherwise,
this will make hard to debug issues
#error_log /var/log/nginx/example_error.log;
error_log off;
#access_log /var/log/nginx/example_access.log;
access_log off;
3) Faban client:
To have a decent amount of steady state time you need to increase the
java heap size of faban driver, otherwise the driver is killed without
a summary:
To do so modify /web20_benchmark/deploy/run.xml as follows:
Replace
<jvmOptions>-Xmx1g -Xms256m -XX:+DisableExplicitGC</jvmOptions>
to
<jvmOptions>-Xmx4g -Xms1024m -XX:+DisableExplicitGC</jvmOptions>
4) Misc. settings
In my setup, I am using swarm to run in multiple nodes. To reduce
calls to consul store, I added the IP addresses of the server in the
/etc/hosts.
This setup allowed me to saturate the web_server node.
Thanks Cloudsuite team for the dockers and the initial setup.
Keep up the good work!
--
Leonardo