UiPath Orchestrator - Inquiry on maximum allowable latency for bot performance

Hi All,

Can anyone confirm the minimum latency requirements for connection sensitivity between the UiPath Orchestrator server and the bot workstation endpoints.
I’m not seeing any such info on UiPath documentation. Please help.

We need to know if the bots could live in a separate datacenter from the Orchestrator infrastructure, or how close this maximum vicinity value may be as recommended by UiPath as to not adversely affect bot workflow control performance.
Could you provide details on this?

@Karthick_Settu @maria.josephina @PrankurJoshi @Roman_hruska @loginerror @Francoisvanzyl

That’s a really good question @manu.jaggi. I’ve never seen such a scenario, so I’m also interested in learning it.

UiPath does not specify a strict minimum latency requirement between the Orchestrator server and bot workstations. However, the general recommendation is to have a low-latency and high-bandwidth network connection to ensure optimal performance between the Orchestrator and the bots.

The Orchestrator and bots can be deployed in separate data centers, but it is crucial to ensure a high-quality, reliable network connection between them. Potential latency issues can impact the speed and efficiency of bot deployment, job execution, and overall system performance.

To measure latency in your specific setup and identify any potential issues, you can use tools such as “ping” or “tracert.” This will help you understand the response time between the two data centers.

In summary, there isn’t a strict minimum latency requirement, but it is recommended to have as low latency as possible to ensure optimal performance between the Orchestrator and the bot workstations.


  • Robot start commands are received through SignalR or requested on a heartbeat. The username and password UiPath Robot uses for authentication purposes are transmitted only on heartbeats, thus enabling it to log in and execute an indicated process.

  • docs image Unresponsive - UiPath Robot and Orchestrator have not communicated in the last two minutes.

This value can be configured using the Scalability.Heartbeat.FailureThreshold

Scalability.Heartbeat.PeriodSeconds

The time interval, expressed in seconds, at which the Robot sends a heartbeat to Orchestrator, letting the latter know its status. By default, it is set to 30 seconds.

Scalability.Heartbeat.FailureThreshold

The number of successively failed heartbeats sent by a Robot until it is marked as unresponsive in Orchestrator. By default, it is set to 4, meaning that after 2 minutes of failed heartbeats (4 x 30 seconds = 2 minutes), a Robot is flagged as unresponsive.

Scalability.SignalR.Enabled

Specifies if the Robot service should subscribe to Orchestrator’s SignalR channels. By default, it is set to true. This parameter is used in the initial seeding of the database. To make changes after installation, use the Settings page, at tenant or host level.

References:

https://docs.uipath.com/orchestrator/standalone/2023.4/user-guide/robot-statuses#:~:text=nothing%20is%20displayed.-,Connection%20Statuses,-The%20connection%20status

https://docs.uipath.com/orchestrator/standalone/2022.10/installation-guide/uipath-orchestrator-dll-config#:~:text=json%20file.-,Scalability,-Scalability.Heartbeat.PeriodSeconds


In conclusion, these are taken into consideration for a proper robot connection Scalability.Heartbeat.PeriodSeconds and Scalability.Heartbeat.FailureThreshold. If you pass over it, the robot will be unresponsive.

@marian.platonov You are saying that there is not such defined recommended value for maximum latency. This is hit and trial and check as per our needs to use as optimal performance.

We can increase or configure the value of Scalability.Heartbeat.FailureThreshold like up to 4 minutes to wait for connection between Orchestrator and Robot, if till 4 minutes, there is no heartbeat detection, then bot will become Unresponsive.

Still open if anyone has other thought on it.