Conforme estudo realizado em conjunto com o time de Arquitetura e os Engenheiros da Amazon Web Services, observamos cenários computacionais gerando melhores insights dentro de sua arquitetura computacional, para utilização do Protheus dando aos cliente uma melhor experiência de uso do produto.

As recomendações desta página são baseadas nos testes de Benchmark realizados pelo time de Engenharia de Dados nas instâncias EC2 disponíveis da AWS.

Nos testes, utilizamos Windows e Linux; constatamos que o Linux obteve melhor desempenho (em torno de 15% de melhora) quando comparado ao Windows dentro da arquitetura da AWS. Usando escalabilidade, o Linux obteve os melhores cenários.

Instâncias Recomendadas

Foram testadas diversas instâncias e a que apresentou melhor performance para o uso do Protheus foi a linha EC2 M5, que pode ser visualizada no site da AWS ou na planilha abaixo.

Instâncias M5 de uso geral: Processadores Intel Xeon® Platinum 8175M de até 3,1 GHz com o novo conjunto de instruções Intel Advanced Vector Extension (AVX-512)

Tamanho de instância

vCPU

Memória (GiB)

Armazenamento de instâncias (GiB)

Largura de banda de rede (Gbps)

Largura de banda do EBS (Mbps)

m5.large

2

8

Somente EBS

Até 10

Até 4.750

m5.xlarge

4

16

Somente EBS

Até 10

Até 4.750

m5.2xlarge

8

32

Somente EBS

Até 10

Até 4.750

m5.4xlarge

16

64

Somente EBS

Até 10

4.750

m5.8xlarge

32

128

Somente EBS

10

6.800

m5.12xlarge

48

192

Somente EBS

10

9.500

m5.16xlarge

64

256

Somente EBS

20

13.600

m5.24xlarge

96

384

Somente EBS

25

19.000

m5.metal

96*

384

Somente EBS

25

19.000

m5d.large

2

8

1 x 75 SSD NVMe

Até 10

Até 4.750

m5d.xlarge

4

16

1 x 150 SSD NVMe

Até 10

Até 4.750

m5d.2xlarge

8

32

1 x 300 SSD NVMe

Até 10

Até 4.750

m5d.4xlarge

16

64

2 x 300 SSD NVMe

Até 10

4.750

m5d.8xlarge

32

128

2 x 600 SSD NVMe

10

6.800

m5d.12xlarge

48

192

2 x 900 SSD NVMe

10

9.500

m5d.16xlarge

64

256

4 x 600 SSD NVMe

20

13.600

m5d.24xlarge

96

384

4 x 900 SSD NVMe

25

19.000

m5d.metal

96*

384

4 x 900 SSD NVMe

25

19.000

Para maiores informações, consulte a documentação do fabricante.

Recomendamos o uso do processador Intel, pois este apresentou um desempenho melhor nos testes quando comparado com a AMD.

Configuração de cenário

Recomendamos que todas as máquinas com Protheus utilizem a feature placement group. Ao utilizá-la, o posicionamento de um grupo de instâncias interdependentes será influenciado, dependendo da opção escolhida, minimizando riscos de erros ocasionados por falhas relacionadas à distribuição de carga de trabalho.

As três opções disponibilizadas pela AWS são:

Foram realizado testes nestas 3 opções, porém a que apresentou melhor perfomance para a utilização do ERP Protheus foi a Cluster, que agrupa instâncias em uma zona de disponibilidade. “Essa estratégia permite que as cargas de trabalho atinjam o desempenho de rede de baixa latência necessário para a comunicação de nó a nó totalmente acoplada que é típica dos aplicativos HPC”, conforme documentado no site da fabricante.

A opção homologada para o uso do Protheus é o Placement Group com a estratégia de Cluster.

Consulte o site da fabricante para mais informações sobre a feature Placement Groups.

Máquina Primária:  Possui a função de Gateway, direcionando as conexões para as máquinas Secundárias. Se conecta nas máquinas Secundárias, Secundárias VIP, WF/WB/SCH/JOB, e Database.  

Máquina Secundária: De 1 a N, recebe as requisições da Primária para processamento. Não é recomendado instalar outros serviços. Elas podem ser escalonadas horizontalmente conforme a necessidade. 

Máquina Secundária VIP: Para cenários que necessitam de alta disponibilidade, pode ser definido uma instância das pré-desenhadas que não será desligada quando o consumo estiver abaixo de 10%. Neste cenário, é importante a configuração de um broker (balanceamento de carga) exclusivo após a escolha do blueprint.

Máquina WF/WB/SCH/JOB: Este servidor pode servir para Work Flow, WebService, Scheduler ou Jobs. 

Máquina Database: Recomendamos uma máquina específica dedicada ao banco de dados. 

Máquina TSS (SPED): Recomendamos que uma máquina específica seja dedicada ao TSS.

Volume para o uso do Protheus: Tanto para os discos do sistema operacional como para o volume do Protheus, recomendamos que o ambiente esteja configurado como High Performance em cenários de produção. Para utilização do C-Tree Server, caso seu volume seja superior a 500 conexões simultâneas ou o tráfego de I/O passe de 700 Mbits/s, em cenários com Windows recomendamos o uso do Storage Pool; em Linux, recomendamos o uso do LVM (Logical Volume Manager).

Para ambientes com C-Tree Server, recomendamos, além do Storage Pool (Windows) ou LVM (Linux), as seguintes instâncias: 

Máquina Primária: Instância m5, com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess secundário; Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance. 

Máquina(s) Secundária(s): Instância m5, com Boundserver, AppServer Secundários, DBAccess Secundário. Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance. 

Máquina VM WebService/Job/Workflow: Instância m5, com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo secundário. Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance. 

Máquina VM TSS: Instância m5, com Broker (balance), Appserver Secundárias e DBAccess (Single). Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance. 

Esquemático de uso do subsistema de IO Block Storage para cada VM Protheus deve seguir o recomendado visando aumento significativo da capacidade de IOPs + throughput.

Para ambientes com Dicionário no banco recomendamos, além do disco estar em high performance, os seguintes shapes (lembrando que, quanto maior o tamanho do disco, mais performático será o throughput): 

Máquina Primária: Instância m5, com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess secundário; Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance

Máquina(s) Secundária(s): Instância m5, com AppServer Secundárias e DBAccess secundário. Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance

Máquina VM WebService/Job/Workflow: Instância m5, com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo secundário. Utilizando o EBS, recomendamos o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance

Máquina VM TSS: Instância m5, com Broker (balance), Appserver Secundários e DBAccess (Single). Utilizando o EBS, recomendamos o volume de 512GB no C:/ em cenários Windows e no / em cenários Linux. Em ambas as situações, utilize o disco em High Performance.

Verifique também as recomendações ou restrições para seu banco de dados