Page tree
Skip to end of metadata
Go to start of metadata

Last updated: Nov 12, 2019 20:08

By Christopher Alton

The purpose of this article is to summarize Perfecto’s cloud lab requirements and best practices for the new graphical UI (New UI). Perfecto cloud labs use streaming services to give users access to devices from anywhere in the world (similar to Remote Desktop). Streaming services are more sensitive to latency and bandwidth limitations than other types of Internet use, such as web browsing. When you interact with a device in your cloud lab, a short delay of 1 to 1.5 seconds is expected. To prevent greater latency, planning is required.

This article covers the new UI for Perfecto users, located at <YourCloud>.app.perfectomobile.com

In this section:

Requirements

TCP ports

Your firewall and other security appliances must allow HTTPS access (TCP port 443) and HTTP (TCP port 80) to the cloud.

Bandwidth

For one device, it requires 1.5 megabits per second of bandwidth, per user. For example, if three users connect to the cloud and each opens a single device, the necessary bandwidth would be three devices times the minimum bandwidth.

Example:

1 user and 1 device = 1.5 megabits per second of bandwidth usage 

3 users and 1 device each (3 devices total) = 4.5 megabits per second of bandwidth of usage (3x 1.5 megabits = 4.5 megabits)

If a single user opens more than one device, it takes an additional 256 kilobits of bandwidth per additional device, in the same session.

Example:

1 user and 1 device =

  • 1.5 megabits per second of bandwidth usage

1 user and 3 devices in the same session =

  • 1.5 megabits of bandwidth for the first device (1x 1.5 megabits = 1.5 megabits)
  • 0.5 megabits of bandwidth for the second and third device (2x 256 kilobits = 512 kilobits OR 0.5 megabits)
  • 1 megabits plus 0.5 megabits = 2 megabits per second total usage


2 users and 2 devices (two separate sessions) =

  • 3 megabits per second of bandwidth usage (2 x 1.5 megabits = 3 megabits)

2 users and 6 devices (two sessions, 3 devices each session) = 4 megabits per second of bandwidth usage

  • 1.5 megabits of bandwidth for the first device of each session (2 x 1.5 megabits = 3 megabits)
  • 0.5 megabits of bandwidth for the additional 4 devices in the sessions (4 x 256 kilobits = 1 megabit)
  • 3 megabits plus 1 megabits = 4 megabits per second total usage 

Important bandwidth considerations

While your site may have enough bandwidth, if many users share the same Internet connection as those who need cloud access, this can greatly affect the latency of the video stream. Bandwidth spikes from activities such as large downloads may cause intermittent problems. Many companies throttle bandwidth especially for RTMP video traffic to discourage employees from impacting available bandwidth as well as viewing sites with video such as YouTube, news, and other content that may not be work-related. Your IT department may not know that you need video streaming to use Perfecto clouds. This can cause your cloud to be treated as unwanted video streaming.

Whitelisting (allowing connectivity)

This is a process done by your Infra/Security teams to allow the Perfecto Lab services, to work with your company security. This involves rules and policies put in place to allow connectivity. Perfecto uses the following streaming services that deliver the content of a mobile device or desktop VM, from the cloud lab, to your workstation. These streaming services need to be allowed.

Streaming Servers (STS) list

Mobile Devices

Australia DC:

  • ngv-sts-ap-southeast-2-01.aws-prod.perfectomobile.com
  • ngv-sts-ap-southeast-2-02.aws-prod.perfectomobile.com

UK and Germany DCs:

  • ngv-sts-eu-central-1-01.aws-prod.perfectomobile.com
  • ngv-sts-eu-central-1-02.aws-prod.perfectomobile.com

US and Canada DCs:

  • ngv-sts-us-east-1-01.aws-prod.perfectomobile.com
  • ngv-sts-us-east-1-02.aws-prod.perfectomobile.com

Desktop Web Devices

Australia DC:

  • web-nginx2-au.aws-prod.perfectomobile.com

UK and Germany DCs:

  • web-nginx2-eu.aws-prod.perfectomobile.com

US and Canada DCs:

  • web-nginx2-us.aws-prod.perfectomobile.com


Note: These streaming services use port 443, not port 1935. These are not flash enabled services.

Reasons for slowness, latency, delays

Streaming services can be slowed down by network appliances and rules/policies. This causes unpleasant delays, sometimes upward of 10 seconds or more, for manual testing.

Problems and solutions

This section describes common problems and their solutions.

Problem 1 | Devices are slow with high response times during manual testing

This happens when the streaming servers are being blocked, redirected, or are under traffic interception/scanning. The root causes can be blocked ports, SSL interception, deep packet scanning and IDS/IPS.

If you see a delay between a manual click (such as on a number button in the calculator) during manual testing, and a response of...

  • Less than 2 seconds, you are getting good performance. Remember, this device may be thousands of miles away. Do not expect performance to be the same as though it's sitting in your hand. Nothing in this article will help you improve interactive latency below 2 seconds.
  • 2 to 3 seconds - Fair performance. You will notice that it is a remote device but you are able to get your work done. It may be possible to improve the performance slightly by applying best practices found in this article.
  • 3 to 4 seconds - Less than optimal. Waiting to see responses is beginning to impact your productivity. Definitely have your IT team look at this article.
  • Greater than 4 seconds - Unacceptable performance. Your network configuration is having a significant impact on your use of the Perfecto platform. Your IT team must provide a solution.

Solution #1: Allow connectivity to the Streaming Services

The best approach is to whitelist the Perfecto domain. This can be done by your Infra and Security teams by allowing *.perfectomobile.com . This allows for minimal changes on the customer side, as we improve or add capacity to our services.

Solution #2: Allow STS traffic without extra scanning

This solution ties in with Solution #1. Add a rule to allow the *.perfectomobile.com traffic, to bypass SSL interception, deep packet inspection and IDS/IPS. Removing these additional security layers will help to improve overall manual cloud testing

Problem 2 | Automated testing appears to be slow

This tends to happen when a user first opens a device in session sharing, then runs a test against the device while it is open in the lab viewing

Solution #1: Run automation without a lab device open in the lab view

To run true automation, first, do not open a device in the lab and do not share the session. Tests should run without any use of session sharing, or the device lab being open. Check your open device configuration capabilities and adjust as needed.

Solution #2: Check scripts for commands that loop or are unnecessary

We see that in many tests, there are looping commands. For instance, having a find element command loop several times over and over, when it is successful each time, can add delays to your tests. Performing debugging for script optimization

Stratagies and practices to improve connectivity

Here are some suggestions on how to improve your connectivity to the cloud lab.

  • Isolate project teams in each location to their own VLANs. This allows bandwidth to be more easily controlled and measured.
  • Have your IT team assign a higher Quality of Service (QoS) priority to traffic from the cloud lab services, to your project team's VLANs.
  • Ensure that your IT department is not throttling bandwidth for the project team.
  • Consider a separate Internet connection for the project teams that will not be impacted by other users. Some customers use dedicated gateways for their testing team on an isolated network as a workaround.

Additional support

If you need additional support, contact the Perfecto Support Team. The Perfecto support team will be glad to assist with any questions or concerns that you may have in regards to delays, latency, etc.