Performance Testing of Amazon Appstream 2.0 Desktop Application

744 Views Asked by At

I have a desktop application which is managed in AWS AppStream 2.0 and I want to conduct a performance test for the same.

I tried multiple ways to record that Application using JMeter/Load Runner (using different protocol) but the tool is not able to capture any server/network calls for the application.

Is there any way we can record these kind of applications using LR or JMeter?

2

There are 2 best solutions below

0
On

Starting at the top of the stack: (For LoadRunner)

  • Citrix
  • Terminal Server
  • GUI Virtual user
  • Template, Visual Studio using NICE API application source (if available in C, C++, C#, or VB
  • Template Java, using client NICE Application source in Java (if available)

Bigger questions, as you are using an Amazon service, what is your SLA for response time, bit rate, Mean QOS for video, under load. If you have no contractual SLA how/who will you have to fix the issue at Amazon.

0
On

As per Amazon AppStream 2.0 FAQs:

Streaming

Q: What streaming protocol does Amazon AppStream 2.0 use?

Amazon AppStream 2.0 uses NICE DCV to stream your applications to your users. NICE DCV is a proprietary protocol used to stream high-quality, application video over varying network conditions. It streams video and audio encoded using standard H.264 over HTTPS. The protocol also captures user input and sends it over HTTPS back to the applications being streamed from the cloud. Network conditions are constantly measured during this process and information is sent back to the encoder on the server. The server dynamically responds by altering the video and audio encoding in real time to produce a high-quality stream for a wide variety of applications and network conditions.

So I doubt that this is something you can really record and replay, with JMeter you can record only HTTP and HTTPS (see How to Run Performance Tests of Desktop Applications Using JMeter for details)

With regards to LoadRunner - I don't see any mention of NICE DCV protocol in the LoadRunner Professional and LoadRunner Enterprise 2021 License Bundles

The only option I can think of is downloading the client from https://www.nice-dcv.com/, the bundle contains a number of .dll files and you can invoke the exported functions from the .dlls via JNA