1
votes

I've got a couple of web servers running our website within the same network in Azure, load balanced on port 80 HTTP in order that a web site load test from visual studio 2010 ultimate will round robin hit one of the two. However, the bulk of the work is always being done by the same server, it's about an 80/20 split, causing the one server to be overloaded. We've got asp state session configured as server one, and server two is receiving the bulk of the http requests (not sure if that's relevant)

I've got a similar config for the web services servers (albeit no state session server) which sit underneath the website layer and they're load balancing fine (50/50 split)

Anything I've missed / need to be aware of?

1
May it be because of keep-alive? stackoverflow.com/a/17723766/57428 - sharptooth
For information - this is all being done on virtual machines in Azure. - Richard Clarke - SSP
Mmmkay, if they use the same DNS name then they are just as prone to keep-alive side effect described there. - sharptooth
It was because of the keep-alive, switched on by default in IIS7. - Richard Clarke - SSP
Whatever, just don't forget that turning keep-alive off is not always a good idea. - sharptooth

1 Answers

1
votes

Most load-balancing scenarios are prone to side-effects of IIS keep-alive being on by default as described in this answer. Once a connection has been established between a certain client and a certain instance of the server at TCP level the same connection will be reused until it is broken at TCP level (for example because of the server or the client going down) and then it will be reestablished to either the same or another server. That's how keep-alive works, it's by design and i is typically fine in most real world cases. If you just want to test that load balancing works in the first place you can consider turning keep-alive off in IIS for the testing scenario only.