安裝 ABBYY Vantage 時,服務與 worker 的數量會依負載而定。ABBYY Vantage 會自動調整服務與 worker 的規模,以最佳化文件處理。本指南說明 ABBYY Vantage 在不同負載情況下所需的資源,並為系統管理員提供如何以適當方式向 ABBYY Vantage 提供這些資源的建議。
資源使用量會依您的文件處理情境而定:正在處理的文件類型、所使用的 skill,以及頁面負載(即在特定時間內處理的頁數)。
參考的 高可用性 組態是在以下負載條件下,使用預設流程技能處理 3 頁與 50 頁的發票時進行測試的:
- 每 8 小時 50,000 頁面
- 每 8 小時 100,000 頁面
- 每 8 小時 150,000 頁面
- 每 8 小時 200,000 頁面
參考的 無高可用性 組態是在以下負載條件下,使用預設流程技能處理 3 頁發票時進行測試的:
- 每 8 小時 10,000 頁面
- 每 8 小時 30,000 頁面
- 每 8 小時 50,000 頁面
無高可用性組態不支援使用 Deep Learning 活動來訓練技能。
在參考組態的測試期間,檔案是透過 REST API 匯入系統。使用的預設流程技能具有以下工作流程:
- 匯入檔案。
- 辨識文件。
- 分類並判定文件類型。
- 從文件中擷取資料。
- 將資料匯出為 JSON。
| 節點類型 | CPU 核心數(每個節點) | RAM,GB(每個節點) | 磁碟大小,GB |
|---|
| 服務節點 | 12 | 48 | 120* |
| 工作節點 | 12 | 48 | 120 |
*上述磁碟大小需求為最低大小要求,實際可能需要額外的磁碟空間。預設情況下,Vantage 會在虛擬機器上安裝 NFS 檔案儲存空間。在此情況下,作為第一個服務節點使用的虛擬機器,將視負載情況需要額外的磁碟空間。
| 配置 | 儲存類型 | 儲存位置 | 磁碟大小 (GB) |
|---|
| 無高可用性 | 內部 NFS | 服務節點 | 500(每 8 小時處理 10,000 個頁面所需) |
| 無高可用性 | 外部 NFS | NFS 伺服器 | 500(每 8 小時處理 10,000 個頁面所需) |
| 高可用 | 外部 NFS | NFS 伺服器 | 50(每 8 小時處理 10,000 個頁面所需) |
| 高可用 | 本機持久性 Volume | 第一個服務節點(來自 inventory 檔案) | 500(每 8 小時處理 10,000 個頁面所需) |
如果您使用大型資料目錄、包含大量活動的 skill,或將資料匯出到共用資料夾,可能需要額外的儲存空間。
如果負載超過每 8 小時 10,000 個頁面,我們建議使用外部儲存。
視頁面負載而定,ABBYY Vantage 在各種組態下要有效率地處理文件,所需的資源如下:
| 負載 (頁面/8 小時) | 服務節點數(3 頁發票) | 服務節點數(50 頁發票) | 工作節點數(3 頁發票) | 工作節點數(50 頁發票) |
|---|
| 50,000 | 4 | 4 | 4 | 4 |
| 100,000 | 4 | 4 | 5 | 7 |
| 150,000 | 4 | 4 | 7 | 9 |
| 200,000 | 4 | 4 | 8 | 11 |
在測試過程中,也同時收集了用於 blob 儲存之磁碟的 I/O 作業統計資料。預期在您的環境中,這些數值不會超過下列所示:
| 負載(頁面/8 小時) | 磁碟 I/O 作業/秒(3 頁發票) | 磁碟 I/O 作業/秒(50 頁發票) |
|---|
| 50,000 | 100 | 50 |
| 100,000 | 250 | 100 |
| 150,000 | 400 | 170 |
| 200,000 | 600 | 230 |
| 負載(頁面數/8 小時) | 服務節點數量 | 工作節點數量 |
|---|
| 10,000 | 1 | 1* |
| 30,000 | 1 | 3 |
| 50,000 | 1 | 3 |
*單一工作節點的組態僅供測試用途,且不支援對技能進行任何訓練作業。
在擴充 ABBYY Vantage 時,未發現文件處理時間有任何增加。
系統管理員可以在叢集中新增額外的工作節點,以因應更高的處理負載。若需瞭解如何準備節點的詳細資訊,請參閱 系統需求。
若要新增工作節點,請依照下列步驟操作:
- 從安裝目錄中開啟 inventory 檔案。
- 在
[abbyy_workers] 區段中,透過指定節點名稱和 IP 位址來新增節點。
- 執行安裝程式:
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
- 執行下列 playbook:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml