LoadRunner and Performance Center
Showing results for 
Search instead for 
Do you mean 

Async. Push Communications : A Brave New World

wilsonmar2 ‎05-13-2014 11:12 PM - edited ‎09-25-2015 02:38 PM

When I registered a new iPad the other day, I authorized several "push" communications to allowi servers to send text messages to me at random times. Active permissions are needed because I can be inundated with them at all hours.


Async. Push is a massive change from users like me initiating every communication with servers. That's what HTML4, the previous version of HTML, assumed in its design. Workarounds (such as long polling) simulate two-way communication using bandwidth-heavy techniques. For example, HTML4 repeatedly sends a long user agent string with every request.


But HTML5 has what is called ‘web sockets’ that initiate two-way initiation of communications using an approach that uses less bandwidth. Apple and Google Android each defined their own similar protocols.


Some may consider these “couch potato” protocols because they are predicated on passive receipt of information, as if we’re sitting on the couch watching TV.


But at the same time, we are expecting equity in when we get information. I overheard a teenager complain that she got a text a few seconds after her friend did, and that’s just not fair!


If we’re playing soldiers in a massive online game, we get killed by others if we’re slow.

If we’re trading stocks, we can get killed financially. So time is money.


Instant alerting systems is one way we humans can cope in a world racing toward what some label “technical singularity”, where everything changes more quickly over time. More intense social interactions are needed to cope with this challenge.


Response time metrics are fundamentally different with asynchronous systems. We now need to measure transactions not within individual autonomous machines, but as a loosely coupled set of machines working together.


Async. transactions by nature need to span several machines, originating from servers and ending at multiple clients all at once, or the other way around as peers.


New performance measurements need to answer how long it takes for transactions beginning on one machine and ending on another machine, and how much time was consumed on the network and within each machine.


New logging mechanisms and visualization layouts are needed.


HP LoadRunner provides the tools to address these concerns. Additional articles here will describe how LoadRunner during recording can automatically recognize asychronous transactions, and generate code which sets up listeners to wait for responses from servers.

About the Author


on ‎05-14-2014 12:38 AM
Great post Wilson, couldn't agree with you more. Testers who don't plan for this will ultimately fail, as will traditional test tool vendors who fail to anticipate this shift.
27 Feb - 2 March 2017
Barcelona | Fira Gran Via
Mobile World Congress 2017
Hewlett Packard Enterprise at Mobile World Congress 2017, Barcelona | Fira Gran Via Location: Hall 3, Booth 3E11
Read more
Each Month in 2017
Software Expert Days - 2017
Join us online to talk directly with our Software experts during online Expert Days. Find information here about past, current, and upcoming Expert Da...
Read more
View all