50% of Failed requests with load balance

Reinis Rozitis r at roze.lv
Wed Nov 10 18:48:43 MSK 2010

> Complete requests:      1000
> Failed requests:        499
>   (Connect: 0, Receive: 0, Length: 499, Exceptions: 0)

It's just the content-length error and nothing else - 'ab' kinda measures 
only the first response and if the following requests differ in size its 
considered as error - loadbalancing between 2 servers where <? phpinfo(); ?> 
has different output will lead to ab showing that half requests have failed.

In general phpinfo() is kinda quite slow for testing  - I would suggest to 
test something more generic like <? echo 'hello world'; ?>

> If i try with a html or jpg file don't get  fail requests. But the times
> don't improve with the 2 servers. If i does the test directly to port
> 8080 for each machine, i get 5-6 seg average, but if i does to nginx
> with load balance, i get 7-8 seg average. It's that reasonable?

First - its good to run 'ab' from different box than the webserver itself as 
its quite a resource hog and can slow down the webserver itself (especially 
if the box isnt very fast) and then compare the results.

Second - no matter how you look at it a loadbalancer is extra layer between 
client and server so if each server can push 10 requests per second it 
doesnt always mean you will see 20 req/sec speed from the balancer.


More information about the nginx mailing list