有多种用于托管 Orchestrator 的企业云部署可供选择,例如 Amazon Web Services(AWS)、Microsoft Azure 或 Google Cloud Platform (GCP)。根据您选择的部署提供商和计划构建的环境的大小,您需要咨询不同的硬件要求。
本章将深入探讨特定于其中一些场景的硬件要求。
中小型部署
硬件要求因开发环境和生产环境等因素而异。虽然与生产环境相同的硬件要求可用于测试和开发目的,但这意味着增加不必要的成本,尤其是在大规模部署时。
Development Environments
These requirements assume a maximum of 100 Unattended robots running simultaneously. Two machines can be used, one for Orchestrator and (optionally) Elasticsearch, and one for SQL Server, configured as follows:
Web Application Server
CPU Cores (>2GHz) | RAM (GB) | HDD (GB) |
---|---|---|
4 | 4 | 150 |
SQL 服务器
CPU Cores (>2GHz) | RAM (GB) | HDD (GB) |
---|---|---|
4 | 8 | 300 |
Production Environments
For production environments, it is highly recommended to provide one dedicated server for each role:
- Orchestrator web application.
- SQL Server Database Engine.
- Elasticsearch and Kibana.
对于多节点安装,除上述要求外,还需满足以下要求:
- Orchestrator 的高可用性插件 (HAA)(要实现真正的高可用性,需要 3 个以上的 HAA 节点;要实现异地冗余,则需 6 个以上的 HAA 节点)。
备注:
多节点 Orchestrator 部署使用 RESP(REdis 序列化协议)进行通信,因此可以使用依赖于此协议的任何解决方案进行配置。
HAA 是这类解决方案中唯一受 UiPath 支持的解决方案。
The hardware configuration for each required server depends upon the size of your deployment, as detailed below. The hardware requirements presented here were made based on tests where a Robot was defined as follows:
- messages are sent from the Robot to Orchestrator with a frequency of 1 message per second
- within 60 seconds, the Robot sends:
- 15 条消息日志
- 2 heartbeats
- 6 get asset requests
- 6 add queue item requests
- 6 get queue item requests
Support up to 250 Unattended Robots
Web Application Server
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<20 | 4 | 4 | 100 |
<50 | 4 | 4 | 100 |
<100 | 4 | 4 | 150 |
<200 | 4 | 4 | 200 |
<250 | 4 | 4 | 200 |
备注:
如果机器人超过 200 个,则在
UiPath.Orchestrator.dll.config
文件中将 SQL 连接字符串池中允许的连接数量增加到 500。为此,需要将Max Pool Size=500
参数添加到连接字符串中,使其看起来类似于以下示例:
<add name="Default" providerName="System.Data.SqlClient" connectionString="Server=SQL4142;Integrated Security=True;Database=UiPath;Max Pool Size=500;" />
SQL 服务器
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<20 | 4 | 8 | 100 |
<50 | 4 | 8 | 200 |
<100 | 4 | 8 | 300 |
<200 | 8 | 8 | SSD 400 |
<250 | 8 | 16 | SSD 400 |
Disc space requirements highly depend on:
- Whether work queues are used or not. If work queues are used, it depends on average number of transactions added daily/weekly and size (number of fields, size of each field) of each transaction.
- The retention period for successfully processed queue items (the customer should implement their own retention policy).
- Whether messages logged by the Robots are stored or not in the database. If they are stored, a filter can be applied to only store in the DB specific levels of messages (for example, store in the DB the messages with log level Error and Critical, and store in Elasticsearch messages with log level Info, Warn and Trace).
- Frequency of logging messages - the Robot developer uses the Log Message activity at will, whenever they consider a message is worth to be logged.
- The retention period for old logged messages (the customer should implement their own retention policy).
- Logging level value set up in the Robot. For example, if logging level in the robot is set to Info, only messages with levels Info, Warn, Error and Critical are sent to Orchestrator; messages with levels Debug, Trace and Verbose are ignored, they will not reach Orchestrator.
Elasticsearch Server
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<20 | 4 | 4 | 100 |
<50 | 4 | 4 | 100 |
<100 | 4 | 8 | 150 |
<200 | 4 | 12 | 200 |
<250 | 4 | 12 | 300 |
Disc space requirements depend on:
- The retention period (the customer should implement their own retention policy).
- Frequency of logging messages - the Robot developer uses the Log Message activity at will, whenever they consider a message is worth to be logged.
- Logging level value set up in the Robot. For example, if logging level in the Robot is set to Info, only messages with levels Info, Warn, “Error” and “Critical” are sent to Orchestrator; messages with levels “Debug”, “Trace” and “Verbose” are ignored, they will not reach Orchestrator.
备注:
For more than 50 Robots you need to instruct the Java Virtual Machine used by Elasticsearch to use 50% of the available RAM, by setting both the
-Xms
and-Xmx
arguments to half of the total amount of memory. This is done either through theES_JAVA_OPTS
environment variable or by editing thejvm.options
file.
Support Between 250 and 500 Unattended Robots
Web Application Server
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<300 | 8 | 8 | 200 |
<400 | 8 | 8 | 220 |
<500 | 16 | 16 | 250 |
SQL 服务器
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<300 | 16 | 32 | SSD 400 |
<400 | 16 | 32 | SSD 500 |
<500 | 16 | 32 | SSD 600 |
备注:
SQL Server 标准版使用的 CPU 内核数上限为 16。对于虚拟机,请确保其为 4 个 4 内核的虚拟插槽,而不是 2 个 8 内核的插槽或 8 个 2 内核的插槽。对于企业版,16 个内核可选用任意组合方式。
For more than 300 Robots, please consider not storing all logged messages in the SQL Server database. Store in the DB only the messages with log level Error and Critical. Store all messages (including Error and Critical) in Elasticsearch.
Elasticsearch Server
Number of Robots | CPU Cores (min 2 GHz) | RAM (GB) | HDD (GB) |
---|---|---|---|
<300 | 4 | 12 | 300 |
<400 | 4 | 16 | 500 |
<500 | 4 | 16 | 600 |
大型部署
IaaS 有人值守的部署
以下部分描述了使用 Azure 基础架构即服务 (IaaS) 产品进行的大规模可扩展部署的要求。需要以下服务:
- VM Availability Set for Orchestrator
- VM Availability Set for Elasticsearch
- Windows Server SQL VM
- Azure 负载均衡器
- 高可用性附加组件 (HAA)
- Distributed DNS Service (such as Cloudflare)
Architecture
备注:
The architecture examples below contain optional and/or differing components (e.g. CyberArk, UiPath High Availability Add-on).
所述 Jumpbox 不是必需的,但推荐您在生产环境使用此最佳实践,因其可提供隔离和安全。
单节点架构

多节点架构

硬件要求
This section describes the hardware configurations used for the performance testing listed in Scaling Your Deployment, below.
Orchestrator Nodes
Each Orchestrator node must be configured as follows:
VCPUs | RAM (GB) | SSD (GB) |
---|---|---|
16 | 32 | 128 |
SQL 服务器
The SQL Server virtual machine specifications must scale in line with the number of Orchestrator nodes:
Orchestrator Nodes | VCPUs | RAM (GB) | Disk |
---|---|---|---|
1 - 2 | 8 | 16 | 1TB - ultra SSD disk for database, tempDB, and transactional log |
5 | 16 | 32 | 1TB - ultra SSD disk for database 1TB - ultra SSD disk for tempDB 1TB - ultra SSD disk for transactional log |
10 | 32 | 64 | 1TB - ultra SSD disk for database 1TB - ultra SSD disk for tempDB 1TB - ultra SSD disk for transactional log |
15 | 40 | 96 | 1TB - ultra SSD disk for database 1TB - ultra SSD disk for tempDB 1TB - ultra SSD disk for transactional log |
Elasticsearch Availability Set
The Elasticsearch availability set is comprised of 3 master nodes and 6 data nodes, for a total of 9 nodes, each with the following specifications:
VCPUs | RAM (GB) | OS SSD (GB) | Data SSD (TB) |
---|---|---|---|
8 | 16 | 128 (with 5000 IOPS and 100 MB/s Throughput) | 1 (with 5000 IOPS and 200 MB/s Throughput) |
软件要求
Software | Version |
---|---|
Operating System | Windows Server 2016 |
Databases | SQL Server 2019 |
Logging | Elasticsearch 7.2.0 |
上面列出的版本是用于所述部署和性能测试负载的版本。
Load Balancing
For multi-node deployments, it is recommended to use two Azure Standard load balancers:
- One for the Orchestrator servers;
- One for the Elasticsearch servers.
High Availability Add-On
- High Availability add-on (HAA) for Orchestrator (3+ HAA nodes are required for true high availability and 6+ HAA nodes for geo-redundancy.
重要
多节点 Orchestrator 部署使用 RESP(REdis 序列化协议)进行通信,因此可以使用依赖于此协议的任何解决方案进行配置。
仅当使用 UiPath 高可用性插件时,UiPath 才支持 Orchestrator 的高可用性部署。
Scaling Your Deployment
The number of nodes needed in your Orchestrator scale set depends on the number of Robots being deployed:
Orchestrator Scale Set Nodes | No. of Robots |
---|---|
1 | up to 6,000 |
2 | up to 14,000 |
5 | up to 80,000 |
10 | up to 200,000 |
15 | up to 300,000 |
These deployments were tested using the hardware and software configurations above to exhibit no performance loss under the specified load below.
Performance Testing
以下 2 个表格中显示的数据代表有人值守的部署。
Static Data
静态数据是指初始 Orchestrator 负载。
Entity | One Node | Two Nodes | Five Nodes | Ten Nodes | Fifteen Nodes |
---|---|---|---|---|---|
Tenants | 1 | 1 | 1 | 1 | 1 |
Folders | 1 | 2 | 4 | 4 | 6 |
Robots | 6,000 | 14,000 | 80,000 | 200,000 | 300,000 |
Packages | 8,000 | 16,000 | 48,000 | 48,000 | 48,000 |
Processes | 4,000 | 8,000 | 24,000 | 24,000 | 24,000 |
Queues | 600 | 1,200 | 1,800 | 2,400 | 3,000 |
Queue Items | 1,120,000 | 1,500,000 | 3,000,000 | 5,000,000 | 7,000,000 |
Assets | 500 | 1,000 | 1,500 | 3,000 | 4,500 |
Dynamic Data
Dynamic data refers to the data added to or changed in Orchestrator as processes are executed.
Entity | One Node | Two Nodes | Five Nodes | Ten Nodes | Fifteen Nodes |
---|---|---|---|---|---|
Queue Items (per day) | 300,000 | 600,000 | 4,000,000 | 9,000,000 | 10,500,000 |
Jobs (per minute) | 700 | 1,500 | 3,000 | 6,000 | 7,500 |
Logs (per minute) | 20,000 | 50,000 | 300,000 | 600,000 | 800,000 |
Nuget Downloads (Maximum per minute) | 1,000 | 3,000 | 10,000 | 14,000 | 18,000 |
Robots Connected (Maximum) | 6,000 | 14,000 | 80,000 | 200,000 | 300,000 |
Heartbeat (per minute) | 12,000 | 28,000 | 160,000 | 400,000 | 600,000 |
Busy Robots | 3,000 | 7,000 | 40,000 | 100,000 | 150,000 |
Available Robots | 3,000 | 7,000 | 40,000 | 100,000 | 150,000 |
PaaS 有人值守的部署
以下各节我们从性能方面深入了解 PaaS 部署的功能。
Architecture
需要满足以下先决条件:
- Orchestrator:
- Orchestrator 应用服务计划:20 个 P3V2 实例
- Azure SQL Server:Premium P15:4000 个 DTU
- Azure Redis 缓存 P2 Premium 13GB
- Identity Server:
- Identity Server 应用服务计划: 2 个实例 P3V2
- Azure SQL Server:标准 S7:800 DTU
- Elasticsearch:
Performance Testing
以下表格中显示的数据代表有人值守的部署。
Static Data
静态数据是指初始 Orchestrator 负载。
Entity | One Node |
---|---|
Tenants | 1 |
Folders | 8,000 |
Robots | 80,000 |
Packages | 8,000 |
Processes | 8,000 |
Queues | 8,000 |
Queue Items | 2,000,000 |
Assets | 8,000 |
Dynamic Data
Dynamic data refers to the data added to or changed in Orchestrator as processes are executed.
Entity | One Node |
---|---|
Queue Items (per day) | 5,000,000 |
Jobs (per minute) | 2,600 |
Logs (per minute) | 240,000 |
Nuget Downloads (Maximum per minute) | 2,000 |
Robots Connected (Maximum) | 80,000 |
Heartbeat (per minute) | 160,000 |
Busy Robots | 40,000 |
Available Robots | 40,000 |
TCP Ports
Port | Description |
---|---|
443 | Default port for communication between Users and Orchestrator with the connected Robots. |
1433 | Default port for communication between Orchestrator and the SQL Server machine. |
9200 | Communication between Orchestrator and Elasticsearch. |
9300 | Communication between Elasticsearch nodes, if applicable. |
5601 | Default port used by the Kibana plugin, if applicable. |
3389 | Required for RDP automation, needed for High-Density Robots. |
You can also check out hardware requirements for Studio and Robot.
大约一年前更新