I am trying to compare the performance of a clutch of web servers using Siege. Whilst the results from all the other servers are easy to understand I am having some difficulty understanding the figures returned for Nginx

I had rather naively assumed that

Transactions = Successful + Failed

This is indeed the case but only when I get Siege to fetch one single static resource (an image) from the server. When I get it to fetch the results of running a PHP script (which does a number of CPU intensive calculations) what I get is more like what is shown below

Sample siege results

I The siege does not report any dropped or failed socket connections. I'd be most grateful to anyone who might be able to explain the reasons for the apparent discrepancy.

  • What's your load-testing protocol (from where, what's the command you are running, do you have rate limiting somewhere like iptables etc) ? Jan 27 '15 at 11:36
  • I am running the various servers in a Docker container (one at a time). I lay siege from another server (i.e. not localhost). Every server/docker instance is freshly created from a base Ubuntu 14.04 image with php5, php5-fpm installed and nothing else. All the installs are default apt-get installs to which I do nothing other than configure php5-fpm and edit nginx.conf to use php5-fpm.
    – DroidOS
    Jan 27 '15 at 12:20
  • The best way to debug this would be by recoding the traffic using tcpdump to see what's really going on. If you are using docker and that you never reached the amount of hits done by this test with other software it could for instance be due to iptables conntrack table entries getting maxed out. But it's one interpretation, and a network capture would give you facts. Check you system logs prior to this. Jan 28 '15 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.