Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Conforme estudo realizado em conjunto com os times de arquitetos e engenheiros da Amazon Web Services, foram observados cenários computacionais gerando melhores insights dentro de sua arquitetura, para a utilização do Protheus, possibilitando aos clientes, uma melhora na 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, foram utilizados Windows e Linux; foi constatado 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.

Informações

É possível utilizar RDS com o seu principal SGBD ou uma Instância EC2 com um banco de dados homologado.

Atente-se ao ciclo de vida da versão do banco de dados selecionado, seja este SQL Server, Oracle ou PostgreSQL.

Índice

Instâncias Recomendadas

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

Expandir
titleRelação de instâncias M7

As instâncias

M7g

M7a do Amazon EC2

 têm

, com tecnologia de processadores

AWS Graviton3 baseados em ARM. Elas oferecem a melhor performance no Amazon EC2 para aplicativos de uso geral

AMD EPYC de quarta geração, apresentam uma performance até 50% mais alta em comparação com as instâncias M6a. As instâncias M7i do Amazon EC2 são baseadas em processadores Intel Xeon escalável de 4.ª geração e oferecem uma relação preço-performance 15% melhor comparado às instâncias M6i.

Tamanho de instânciavCPUMemória (GiB)Armazenamento de instâncias (GB)Largura de banda da rede (Gbps)Largura de banda do
EBS (Gbps)

m7g.medium

1

EBS (Gbps)

m7i.large

2

8

Somente EBS

Até 12,5

Até 10

m7i.xlarge

4

16

Somente EBS

Até 12,5

Até 10

m7i.2xlarge

8

32

Somente EBS

Até 12,5

Até 10

m7i.4xlarge

16

64

4

Somente EBS

Até 12,5

Até 10

m7g

m7i.

large

8xlarge

2

32

8

128

Somente EBS

Até

12,5

Até 10

m7g.xlarge

4

16

10

m7i.12xlarge

48

192

Somente EBS

18,75

15

m7i.16xlarge

64

256

Somente EBS

25

20

m7i.24xlarge

96

384

Somente EBS

Até 12

37,5

Até 10

30

m7g

m7i.

2xlarge

48xlarge

8

192

32

768

Somente EBS

Até 15

50

Até 10

40

m7g

m7i.

4xlarge

metal-24xl

16

96

64

384

Somente EBS

Até 15

Até 10

m7g.8xlarge

32

128

37,5

30

m7i.metal-48xl

192

768

Somente EBS

15

50

10

40

m7g

m7a.

12xlarge

medium

48

1

192

4

Somente EBS

22

Até 12,5

15

Até 10

m7g

m7a.

16xlarge

large

64

2

256

8

Somente EBS

30

20

m7g.metal

64

256

Até 12,5

Até 10

m7a.xlarge

4

16

Somente EBS

30

20

m7gd.medium

1

4

1 x 59 SSD NVMe

Até 12,5

Até 10

m7a.2xlarge

8

32

Somente EBS

Até 12,5

Até 10

m7gd

m7a.

large

4xlarge

2

16

8

1 x 118 SSD NVMe

64

Somente EBS

Até 12,5

Até 10

m7gd

m7a.

xlarge

8xlarge

4Até

32

16

1 x 237 SSD NVMe

128

Somente EBS

12,5

Até

10

m7gd

m7a.

2xlarge

12xlarge

48

8

192

32

1 x 474 SSD NVMe

Até 15

Até 10

Somente EBS

18,75

15

m7a.16xlarge

64

256

Somente EBS

25

20

m7a.24xlarge

96

384

Somente EBS

37,5

30

m7a.32xlarge

128

512

Somente EBS

50

40

m7a.48xlarge

192

768

Somente EBS

50

40

m7a.metal-48xl

192

768

Somente EBS

50

40

m7gd.4xlarge

16

64

1 x 950 SSD NVMe

Até 15

Até 10

m7gd.8xlarge

32

128

1 x 1.900 SSD NVMe

15

10

m7gd.12xlarge

48

192

2 x 1425 SSD NVMe

22,5

15

m7gd.16xlarge

64

256

2 x 1.900 SSD NVMe

30

20

m7gd.metal

64

256

2 x 1.900 SSD NVMe

30

20

Informações

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

Configuração de cenário

Totvs custom tabs box
tabsCenário geral, Dicionário no banco,Placement groups,Security Groups,Compartimentalização, [Legado] C-Tree Server
ids01,02,03,04,05,06
Totvs custom tabs box items
defaultyes
referencia01

Image RemovedImage Added

Informações

Cenários que necessitam de disponibilidade 24x7 podem:

  • definir uma instância das pré-desenhadas, que não será desligada quando seu consumo for inferior a 10% do total de CPU;
  • trabalhar com máquinas menores, em horários de menor consumo, podendo utilizar RDS com o seu principal SGBD ou uma Instância EC2 com um banco de dados homologado.
  • Instância PrimáriaPossui a função de Gateway, direcionando as conexões para as instâncias Secundárias. Se conecta nas instâncias Secundárias, Secundárias VIP, WF/WB/SCH/JOB, e Database.  
  • Instância 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. 
  • Instância 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.
  • Instância WF/WB/SCH/JOB/Rest: Este servidor vale para Work Flow, WebService, Scheduler, Rest ou Jobs
  • Database: É possível utilizar um Database (dentre os bancos homologados, tais como PostgreSQL, Oracle ou SQL Server) em RDS ou instalado em uma instância EC2. 
  • Instância TSS (SPED): Recomendamos que uma instância específica seja dedicada ao TSS.
  • Volumes EBS para o uso da Protheus_data no servidor PrimárioO volume para o sistema operacional pode ser do tipo General Purpose SSD (gp2). Porém, para o diretório Protheus_data, quando se usa o CtreeServer para a gestão do dicionário no modelo ISAM, pode-se utilizar opção de General Purpose SSD (gp2). Lembrando que é necessário um disco maiorpara ter a quantidade de IOPS necessária para o seu consumo (proporção distribuída no valor de 3 IOPS para cada GiB), ou optar por um modelo de Provisioned IOPS SSD (io1 ou io2).

  • Volumes de Finalidade geral (SSD) (gp2):
    Tamanho do volume: 1 GiB – 16 TiB
    IOPS máxima por volume = 
    16,000
    IOPS máxima por instância = 160,000
    Taxa de transferência máxima por volume = 250 MiB/s
  • Volumes de Finalidade geral (SSD) (io1 e io2):
    Tamanho do volume: 4 GiB – 16 TiB
    IOPS máxima por volume = 64,000
    IOPS máxima por instância = 160,000
    Taxa de transferência máxima por volume = 1,000 MiB/s
Totvs custom tabs box items
defaultno
referencia02

Image RemovedImage Added

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

  • Instância Primária: Instância m5m7, com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess secundário; Utilizando o EBS é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux.
  • Instância(s) Secundária(s): Instância m5m7, com AppServer Secundárias e DBAccess secundário. Utilizando o EBS é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. 
  • Instância WebService/Job/Workflow: Instância m5m7, com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo secundário. Utilizando o EBS é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux.
  • Instância 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.
Totvs custom tabs box items
defaultno
referencia03

É recomendado que todas as instâncias 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:

  • Cluster

  • Partition

  • Spread

Foram realizado testes nestas três 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 Groupcom a estratégia de Cluster.

Informações

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

Nota
titleAtenção: Região escolhida

Para minimizar a latência, escolha a região mais próxima à sua localização.

Totvs custom tabs box items
defaultno
referencia04

Os Security Groups (Grupos de segurança) agem como um firewall virtual para controlar o tráfego de entrada e saída das instâncias EC2. Por padrão, o tráfego de saída (ou seja, da instância para a internet) é livre. Não podem ser criadas regras que neguem o acesso a algo; as regras sempre serão permissivas, pois na ausência destas, o acesso é bloqueado. 

Informações
Confira a documentação do fornecedor de security group para instâncias EC2 em Linux e para instâncias EC2 em Windows.

Desenho sugerido:

Image RemovedImage Added

Expandir
titleClique aqui para visualizar as portas sugeridas para liberação no Security Group.
Aviso
titleAtenção

As portas exibidas foram utilizadas nos testes para homologação e são meramente sugestões. Não é obrigatório o uso de todas as portas determinadas neste documento; libere as portas que os serviços precisarão utilizar.

Tipo de ServiçosTCPWEB/HTTPWEB/HTTPsComentários
Broker10000


Balance Monitor10100


License Server5555 e 22348020443
DBAccess Primário7900


DBAccess Secundário7890


Instâncias Secundárias10001 ao 10999


Scheduler16000


Telnet12001 ao 12999


JOB13001 ao 13999


RPC/REST14001 ao 149998000 até 8999443 ao 4443
GravaBatch15001 ao 15999


Web Service/WorkFlow11001 ao 119998000 até 8999443 ao 4443
C-Tree Server5597

*Para clientes que utilizam dicionário em memória.
Boundserver5848 e 10200

*Para clientes que utilizam dicionário em memória.
Lock Server (Linux)17000


Nota
titleServiços descontinuados

Os serviços C-Tree Server, Boundserver e Lock server foram descontinuados.

Informações

Para o funcionamento do Protheus será necessário que as portas dos serviços utilizados sejam liberadas no security group. Porém, não é obrigatória a liberação de todas as portas que estão descritas nesta tabela.

Totvs custom tabs box items
defaultno
referencia05

Utilize esta alternativa com três objetivos:

  1.  Agrupar melhor os recursos na AWS;
  2.  Ter melhor controle de custos;
  3.  Ter melhor organização das permissões de segurança.

Sugestão de compartimentos:  

Produção

Aplicação

Database

Homologação

Aplicação

Database

Desenvolvimento

Aplicação

Database

Desenho sugerido:


Totvs custom tabs box items
defaultno
referencia06
Aviso
titleAtenção

Esta seção não atende às últimas atualizações de release do Protheus, e deve ser utilizada apenas para consulta em cenários com ambientes legados.    

Expandir
title[Consulta para ambientes legados] Ambientes com C-tree Server


Image Modified


Para ambientes com C-Tree Server é recomendado, além do volume General Purpose SSD ou do volume Provisioned IOPS SSD, as seguintes instâncias: 

  • Instância 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 é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. 
  • Instância(s) Secundária(s): Instância m5, com Boundserver, AppServer Secundários, DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. 
  • Instância 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 é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux.
  • Instância TSS: Instância m5, com Broker (balance), Appserver Secundárias e DBAccess (Single). Utilizando o EBS é recomendado o volume de 120GB no C:/ em cenários Windows e no / em cenários Linux. 


Blueprints recomendadas, de acordo com a quantidade de usuários simultâneos

Nota
titleAtenção

Estas estimativas são referentes ao uso do produto Protheus padrão. Caso alterações sejam necessárias, o cliente pode fazer o scale-up/down (escalonamento vertical, adicionando recursos de processador e memória) ou o scale in/out (escalonamento horizontal, adicionando instâncias secundárias).

Informações
titleNota

As quantidades de usuários são referentes a usuários simultâneos acessando a aplicação. Threads em execução pelo Scheduler ou Jobs também são consideradas como usuários. 

Totvs custom tabs box
tabsSecundária VIP,Capacidade das instâncias,Zona Segura de processamento,Mesclando instâncias
ids1,2,3,4
Totvs custom tabs box items
defaultyes
referencia1
Informações
Para os cenários que necessitam de uma instância secundária VIP é importante ter um serviço do Broker, exclusivo para este cenário, após a escolha do Blueprint, conforme a sua demanda. Importante que este Broker VIP seja instalado na instância Primária (Gateway).

Nos cenários onde uma máquina não pode ser desligada, é possível utilizar uma máquina secundária VIP, que ficará disponível em períodos de baixo consumo de recursos.

Image RemovedImage Added

Totvs custom tabs box items
defaultno
referencia2
Expandir
titleC-Tree ServerDicionário no banco

Image AddedImage Removed


Sugestões de acordo com a quantidade de usuários por instância:

  • Para até 36 usuários 50 usuários (ou até 60% do consumo de processamento): M5.large, com 1 App Boundserver, 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
  • Para até 76 usuários 100 usuários (ou até 60% do consumo de processamento): M5.xlarge, com 1 App Boundserver, 2 com 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux.
  • Para até 150 200 usuários (ou até 60% do consumo de processamento): M5.2xlarge, com 1 App Boundserver, 2xlarge, com 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
  • Para até 300 400 usuários (ou até 60% do consumo de processamento): M5.4xlarge, com 1 App Boundserver, 2 com 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
Expandir
titleDicionário no banco
  • no /protheus em cenários Linux. 
Expandir
title[Para consulta em ambientes legado] C-Tree Server
Aviso
titleAtenção

Esta seção não atende às últimas atualizações de release do Protheus, e deve ser utilizada apenas para consulta em cenários com ambientes legados.    

Image AddedImage Removed


Sugestões de acordo com a quantidade de usuários por instância:

  • Para até 50 usuários 36 usuários (ou até 60% do consumo de processamento): M5.large, com 1 App Boundserver, 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
  • Para até 100 usuários 76 usuários (ou até 60% do consumo de processamento): M5.xlarge, com 1 App Boundserver, com 2 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux.
  • Para até 200 150 usuários (ou até 60% do consumo de processamento): M5.2xlarge, com com 1 App Boundserver, 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
  • Para até 400 300 usuários (ou até 60% do consumo de processamento): M5.4xlarge, com 1 App Boundserver, com 2 2 Appserver Secundários e 1 DBAccess Secundário. Utilizando o EBS é recomendado o volume de 120GB no C:\ e 500GB no X:\ em cenários Windows; ou 120GB no / e 500GB no /protheus em cenários Linux. 
Totvs custom tabs box items
defaultno
referencia3
Nota
O consumo das máquinas deverá ser até 60%, ou até a quantidade estipulada de usuários por instância.

Totvs custom tabs box items
defaultno
referencia4

É possível utilizar diferentes instâncias para atender à quantidades de usuários mais específicas. Neste caso, será necessário apenas ajustar no Broker a quantidade de usuários para cada Appserver.

No exemplo abaixo, são definidas quatro instâncias, com dois Appserver cada, e o exemplo para a configuração do Broker. Na seção [BALANCE_SMART_CLIENT_DESKTOP], as chaves REMOTE_SERVER_XX são referentes aos IPs de cada instância; estes endereços, portas e quantidades de usuários exibidos são meramente ilustrativos. 

Image RemovedImage Added


Nota
titleAtenção

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