I'm using Stingray 9.6 to load balance two Windows Server 2008 machines running IIS 7.5. I'm seeing that occasionally the website will get into a state where the responses hang. The client will send a request, then get a response header indicating Transfer-Encoding: chunked, etc. and nothing else after that. The browser (Chrome) just sits and spins.
If I go to the server that the client is hanging on, I can browse the site locally fine. It's only when I'm going through the load balancer that this hang occurs. Also it appears (I'm not 100% sure) that if I include only one server in the pool that this problem doesn't happen.
Sounds to me that the application on the IIS is not 100% stateless and would need an affinity / persistence rule to work properly.
Try to make a rule which is set to 'IP-based persistence'. You can find the rules under :
Catalogs | Persistence
Then add that rule to your Traffic Pool ( Services | Pools | <PoolName> | Session Persistence ), and see what happens?
Bjarke Emborg Kragelund
Unfortunately persistence didn't help. I turned off gzip compression, and enabled request tracing.
What I found (I don't have the exact #s but it's something along these lines):
- Header is returned back saying content length of 100KB
- Looking at the request trace, there are only about 60KB worth of TCPClientWrites
So it looks like it's getting a header saying content length is a certain value.. but only a portion of the content is returning back. So that's probably where the 'hang' is coming from.. the browser is waiting for the rest, which never happens.
Any ideas why the remainder of this content would not be served up?