loadrunner Anyone know for certain how sockets are...

  • perf-test.com need your contributions to build up a strong repository of performance engineering resources.

P

Petar Puskarich

Guest
Anyone know for certain how sockets are handled in asynch mode? We will probably know for certain in about 30 mins after running our next test but wanted to ask here. At present it appears the asynch call even when setup say ever 10 seconds per recall, appear to make the call, shut down the socket, and then recreate a new one. Is there a way to to have it use http 1.1 style sockets? Ie set the persistent connection type for fast enough back to back asynch calls? Even with finwait_2 set to 30 seconds on the Apache webserver side, those socket levels build up rather fast when this typical use case has 5 asynchs hitting every 5 seconds each per vuser. I'm not thrilled with this apps design in general and it's showing it's scalability flaws quickly! We are ruling out perhaps our script side socket handling since manual users don't seem to create nearly as many sockets. Or perhaps we also have something squirrely with our load balancer too!
 
As far as we know, connection handling in Async mode is expected to behave same as in synchronous mode. So if you defined keep-alive behavior in RTS or using the web_set_sockets_option API call, we expect connections to be resued even in Poll Async with relatively long intervals. The only exception may occur when your polling is done over several iterations - in such case, we may close the connections at end of an iteration. If you see a different behavior - please let us know!
 
We validated things and indeed the LR side was performing correctly. The load balancer however was poorly setup :)
 
Never fails to amaze me the little things that can go wrong. It also never fails to amaze me the things that will still be blamed on a test or the tester instead of the app or the infrastructure. My baby can't be ugly!