Best network practices
Learn about Perfecto’s cloud lab requirements, best practices for the Perfecto UI, and how to optimize your Perfecto UI experience when accessing your cloud at <your_cloud>.app.perfectomobile.com.
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.
For things to consider in hybrid clouds, see Hybrid clouds | Best network practices.
On this page:
Requirements
Make sure your Perfecto cloud lab meets the requirements listed in this section.
TCP ports
Your firewall and other security appliances must allow HTTPS access (TCP port 443) and HTTP (TCP port 80) to the cloud.
Bandwidth
A single device 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.
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.
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.
Connectivity
This is a process performed 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 streaming services listed in the following table to deliver the content of a mobile device or desktop VM from the cloud lab to your workstation. These streaming services need to be allowed.
With on-premise HSS/cradles in the latest Perfecto UI, Appium initializes a session. This requires that an Appium connection be opened through a separate port for each cradle. For example, if the HSS is connected to 10 cradles, you would need to configure ports 11601 to 11610.
Streaming Servers (STS) list
These streaming services use port 443, not port 1935. These are not flash-enabled services.
Replace <cloudname>
with the actual cloud name you use. For example: mobilecloud.web.us.perfectomobile.com.
Data center | Mobile devices | Desktop web devices |
---|---|---|
Australia | ||
UK and Germany | ||
US and Canada |
|
Video streaming
Video playback with Perfecto's most advanced video solution (WebRTC) is enabled by default. It requires that port 443 be enabled for the following IP addresses:
Device location | DNS | Static IP |
---|---|---|
US or Canada |
ams-01.perfectomobile.com turn-01.perfectomobile.com wowza-01.perfectomobile.com |
3.232.106.230 (port 443) 52.7.145.118 (port 443) 34.199.7.232 (ports 443 and 1935) |
Europe (Frankfurt) |
ams-12.perfectomobile.com turn-12.perfectomobile.com wowza-12.perfectomobile.com |
3.75.33.227 (port 443) 3.121.1.172 (port 443) 18.195.140.116 (ports 443 and 1935) |
Sydney |
ams-24.perfectomobile.com turn-24.perfectomobile.com wowza-24.perfectomobile.com |
13.237.97.147 (port 443) 52.65.177.125 (port 443) 13.210.211.0 (port 443 and 1935) |
If you still work with the legacy Perfecto UI, you need to connect the Wowza server on the IPs listed in the table and with one of the following ports:
-
1935 for the RTMP protocol
-
443 for the RTMPS protocol
If, for any reason, this video solution is not available, Perfecto falls back to a secondary solution.
Hybrid cloud customers: See Hybrid clouds | Best network practices.
Reasons for slowness, latency, delays
Streaming services can be slowed down by network appliances and rules or policies. This causes unpleasant delays, sometimes upward of 10 seconds or more, for manual testing.
Strategies 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.
Problems and solutions
This section describes common problems and their solutions. Click a problem to view details.
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: 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 place the Perfecto domain on your allow list. 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 improve overall manual cloud testing.
Solution #3: Verify Solution #1 is carried across your VPNs
Many customers use a VPN to access the cloud labs. This can be in the form of Citrix or other related VPN applications. VPNs need to be explicitly configured by your IT Team to allow Solution #1 (allow-listing of the *.perfectomobile.com
domain). If this is not done, you will not resolve the issue at hand.
Solution #4: Verify Solution #1 is carried across your VDIs/Virtual Desktop Machines
Many customers and testing companies now implement virtual desktop machines, or VDIs, to have their offshore testing teams run automated testing against the cloud. In other instances, these same companies have their testers use the VDIs to do manual testing. This absolutely causes performance problems. To solve this, network connectivity across the VDIs/VDMs, must allow Solution #1 (allow-listing of the *.perfectomobile.com
domain). If this is not done, you will not resolve the issue at hand.
This tends to happen when a user first opens a device in session sharing and then runs a test against the device while it is open in the Manual Testing view.
Solution #1: Run automation without a lab device open in the Manual Testing 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. Perform debugging for script optimization.
This tends to happen when a company policy/firewall/rule is partially blocking Perfecto services. In particular, it may be preventing connections to <cloudname>.web.us.perfectomobile.com
.
Solution: Allow connectivity to Perfecto services
The best approach is to place the Perfecto domain on your allow list. 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.
Additional support
If you need additional support, contact Perfecto Support. The Perfecto Support team will be glad to assist with any questions or concerns that you may have in regards to delays, latency, and so on.