Questions about proxy logging and a sanity check

mike mike503 at gmail.com
Sun Apr 20 06:51:39 MSD 2008


I am attempting to replace LVS with nginx for load balancing.

Basically, one front-end load balancer (running nginx) to 3 backend
servers (soon to be running nginx + fastcgi/php)

Using these variables, it looks like it shows -all- the defined
upstreams it had to try.

$upstream_addr
$upstream_response_time
$upstream_status

I do realize it orders them differently. Is the first one listed
always the one that it used? i.e.

log_format  main  '$upstream_addr - $upstream_response_time - $upstream_status

I looked to see if there was a variable that had the value of the
server that replied...

On a successful request, it shows a simple one line.
10.13.5.14:80 - 0.001 - 200

On a non-successful request (i.e. a 404) I see:
10.13.5.12:80, 10.13.5.14:80 - 0.000, 0.001 - 404, 404

Or, does it try each backend one at a time, and it just happens so
fast it looks like it's done in parallel? and is it safe to say the
first one listed is the best option?

I plan to use this frontend nginx server for:
- ssl (if i need it) - client<->frontend nginx (SSL). frontend nginx
<-> backend (non-SSL)
- gzipping/compression - client<->frontend nginx (gzip). frontend
nginx <-> backend (uncompressed)
- expires headers (perhaps) ..

I am doing maybe 5 or 6 million requests per day right now. All of
them would be proxied through this frontend nginx server. nginx will
be running on a quad-core xeon 3220 w/ 2 gigs of ram available for
this. Would it be a problem?





More information about the nginx mailing list