跳转到主要内容

介绍

在安装 ABBYY Vantage 时,服务和工作进程(worker)的数量取决于负载。ABBYY Vantage 会自动伸缩服务和工作进程,以优化文档处理性能。本指南介绍了在不同负载情况下 ABBYY Vantage 所需的资源,并为系统管理员提供关于如何以正确方式为 ABBYY Vantage 配置这些资源的建议。

参考配置

资源消耗取决于您的文档处理场景:所处理文档的类型、所使用的 Skill,以及页面负载(即在某一时间段内处理的页数)。 参考的 高可用性 配置在以下负载下进行了测试,测试时使用默认的 Process 技能处理 3 页和 50 页的发票文档:
  • 每 8 小时处理 50,000 页
  • 每 8 小时处理 100,000 页
  • 每 8 小时处理 150,000 页
  • 每 8 小时处理 200,000 页
参考的 非高可用性 配置在以下负载下进行了测试,测试时使用默认的 Process 技能处理 3 页的发票文档:
  • 每 8 小时处理 10,000 页
  • 每 8 小时处理 30,000 页
  • 每 8 小时处理 50,000 页
非高可用性配置不支持使用 Deep Learning 活动来训练 Skill。
在对参考配置进行测试期间,通过 REST API 将文件发送到系统。使用了默认的 Process 技能及以下工作流:
  1. 导入文件。
  2. 识别文档。
  3. 对文档进行分类并确定文档类型。
  4. 从文档中提取数据。
  5. 将数据导出为 JSON。

节点类型

节点类型CPU 核心数(每个节点)内存 (GB)(每个节点)磁盘容量 (GB)
服务节点1248120*
工作节点1248120
*上述磁盘容量要求指的是最小容量要求,实际可能需要更多磁盘空间。默认情况下,Vantage 会在虚拟机上安装 NFS 文件存储。在这种情况下,作为第一个服务节点的虚拟机将根据负载需要额外的磁盘空间。

存储要求

ConfigurationStorageStorage locationDisk size, GB
无高可用配置内部 NFS服务节点500(适用于每 8 小时处理 10,000 页文档)
无高可用配置外部 NFSNFS 服务器主机500(适用于每 8 小时处理 10,000 页文档)
高可用配置外部 NFSNFS 服务器主机50(适用于每 8 小时处理 10,000 页文档)
高可用配置本地持久卷第一个服务节点(来自清单文件)500(适用于每 8 小时处理 10,000 页文档)
如果您使用了大型数据目录(data catalog)、包含大量活动的 Skill,或者将数据导出到共享文件夹,可能需要额外的存储空间。
如果负载超过每 8 小时 10,000 页,我们建议使用外部存储。

性能结果

根据页面负载情况,ABBYY Vantage 在每种配置下高效处理文档所需的资源如下:

高可用配置

负载(页/8 小时)服务节点数量(3 页发票)服务节点数量(50 页发票)工作节点数量(3 页发票)工作节点数量(50 页发票)
50,0004444
100,0004457
150,0004479
200,00044811
在测试期间,还收集了用于 Blob 存储的磁盘输入/输出(I/O)操作统计数据。通常可以认为,在您的环境中这些数值不会超过如下所示的水平:

磁盘 I/O 操作

负载(页/8 小时)磁盘 I/O 操作次数/秒(3 页的发票)磁盘 I/O 操作次数/秒(50 页的发票)
50,00010050
100,000250100
150,000400170
200,000600230

未启用高可用性配置

负载(页数/8 小时)服务节点数worker 节点数
10,00011*
30,00013
50,00013
*包含一个 worker 节点的配置仅用于测试目的,不支持执行任何与 Skill 训练相关的活动。
在对 ABBYY Vantage 进行扩展时,未发现文档处理时间有增加。

管理节点

系统管理员可以向集群中添加额外的工作节点,以提高可处理的工作负载。有关如何准备节点的更多信息,请参阅系统要求

添加工作节点

要添加工作节点,请按照以下步骤操作:
  1. 打开安装目录中的清单文件。
  2. [abbyy_workers] 部分,通过指定名称和 IP 地址来新增一个节点。
  3. 运行安装程序:
docker run -it \
-v $PWD/kube:/root/.kube \
-v $PWD/ssh/ansible:/root/.ssh/ansible \
-v "//var/run/docker.sock:/var/run/docker.sock" \
-v $PWD/inventory:/ansible/inventories/k8s/inventory \
-v $PWD/env_specific.yml:/ansible/inventories/k8s/group_vars/all/env_specific.yml \
-v $PWD/ssl:/ansible/files/ssl:ro \
--privileged \
registry.local/vantage/vantage-k8s:2.7.1
  1. 运行以下 Playbook:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml