ABBYY Vantage를 설치할 때 서비스와 워커의 수는 부하에 따라 달라집니다. ABBYY Vantage는 문서 처리를 최적화하기 위해 서비스와 워커를 자동으로 조정합니다. 이 가이드는 부하 수준에 따라 ABBYY Vantage에 필요한 리소스와 시스템 관리자가 이러한 리소스를 ABBYY Vantage에 적절하게 제공하기 위한 권장 방법을 설명합니다.
리소스 사용량은 문서 처리 시나리오에 따라 달라집니다. 처리되는 문서의 유형, 사용되는 스킬, 그리고 페이지 부하(즉, 특정 시간 동안 처리되는 페이지 수)에 따라 달라집니다.
기준 고가용성 구성은 기본 프로세스 스킬을 사용하여 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 파일 스토리지를 설치합니다. 이 경우 첫 번째 서비스 노드로 사용되는 가상 머신에는 부하에 따라 추가 디스크 공간이 필요합니다.
| Configuration | Storage | Storage location | Disk size, GB |
|---|
| Without high availability | Internal NFS | Service node | 500 (8시간당 10,000페이지 처리 기준) |
| Without high availability | External NFS | NFS server machine | 500 (8시간당 10,000페이지 처리 기준) |
| Highly available | External NFS | NFS server machine | 50 (8시간당 10,000페이지 처리 기준) |
| Highly available | Local persistent volume | First service node (from the inventory file) | 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 스토리지에 사용된 디스크의 입출력 작업에 대한 통계도 수집했습니다. 실제 환경에서도 해당 수치가 아래 값들을 초과하지 않을 것으로 예상할 수 있습니다.
| 부하 (페이지/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를 확장해도 문서 처리 시간이 증가하지 않았습니다.
시스템 관리자는 클러스터에 워커 노드를 추가하여 필요한 처리 용량을 확장할 수 있습니다. 노드 준비 방법에 대한 자세한 내용은 시스템 요구 사항을 참조하십시오.
워커 노드를 추가하려면 다음 단계를 따르십시오.
- 설치 디렉터리에서 인벤토리 파일을 엽니다.
[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
- 다음 플레이북을 실행합니다:
ansible-playbook -i inventories/k8s -v playbooks/4-Kubernetes-k8s.yml