Árvore de páginas

Atenção

♦ Esta documentação é válida a partir do Release 12.1.33 do Protheus com dicionário no banco de dados, considerando os bancos de dados SQL Server, Oracle e PostgreSQL.

♦ Consulte as especificações dos bancos de dados homologados para o Protheus, dos sistemas operacionais homologados para o Application Server e para o SmartClient

♦ Para integrações do Protheus com Smart View, consulte também os Requisitos mínimos para Smart View.

Para o ERP

Para o uso do Protheus com até 100 usuários, utilize processadores com 4 núcleos físicos da linha Intel ou AMD tecnologia x64, com HyperThread habilitado, com o clock mínimo ou superior a 2.3 Ghz.

Quantidade de usuários

Threads em execução pelo Scheduler ou Jobs  também são consideradas como usuários. Leve isso em consideração ao realizar o sizing.

As seguintes tabelas exibem as recomendações para a(s) máquina(s) que executará(ão) o ERP Protheus, com até 100 usuários. Acima desta quantidade, é recomendável que seja realizado o dimensionamento por projeto.

Memória RAM

24 GB

Tamanho mínimo do volume

250GB 

Velocidade de escrita mínima do disco

500 mbps/s

Velocidade de leitura mínima do disco

500 mbps/s

Throughput mínimo do disco

3GB/s

Placa de rede 

1 gigabit 

Quantidade 

Nome do serviço

01

AppLicense Server

01

Broker AppServer (conexões via WAN/LAN)(Recomendação)

01

AppServer (secundário)

01

AppScheduler

01

AppWebService

01

AppServer Lock Server (Linux)

01

DBAccess

Balanceamento de carga

Para realizar a distribuição dos serviços, utilize o Broker, que inclui a funcionalidade nativa de proxy reverso. O Broker distribui as threads de acordo com a afinidade de memória RAM e CPU, evitando a sobrecarga de recursos de um servidor. O balanceamento tradicional, em comparação, não utiliza o proxy reverso e pode acarretar em erros de sincronismo entre o SmartClient e o Appserver.

Balanceamento de carga com broker

Como realizar uma configuração básica de broker?


Consumo de Memória

O valor de 167MB foi calculado de acordo com a média do consumo constatada nos testes, baseado nos dados por conexão do ERP. Para cenários com customizações, estime cerca de 30% adicionais caso o valor padrão não atenda às suas necessidades.

Este sizing se aplica para ambientes normalizados. Customizações que consumam recursos de maneira inadequada podem afetar o sizing, de acordo com a exigência computacional do programa. Caso o consumo de recursos seja muito superior à esta estimativa, realize a análise de seu ambiente para identificar e se obter o entendimento da rotina com maior uso de memória, e se é possível alterá-la para otimizar o consumo de recursos.

O consumo de memória do ERP exibido neste documento foi calculado utilizando a regressão linear dos dados coletados nos clientes piloto da release 12.1.33.

Para 100 conexões, por exemplo, deve ser feito o seguinte cálculo:

  • 100 usuários x 167 MB = 16700 MB = 16GB (consumo no appserver) + 4GB (DBAccess, License e "Lock Server Ambientes Linux") = 20GB.

  • 20GB para o ERP + 4GB reservado para o Sistema Operacional (mínimo recomendado).

  • Chegamos ao cálculo dos 24GB do Host supracitado.

Para análise e acompanhamento do consumo de memória por rotina, pode-se utilizar as seguintes chaves no appserver.ini: DebugThreadUsedMemory e ServerMemoryInfo.

Consumo do AppServer

Com a evolução do binário, o comportamento em estudo chegou a 500 conexões simultâneas nos testes de benchmark. Recomendamos, no entanto, que cada Appserver seja dimensionado para até 100 conexões simultâneas para se ter uma margem de segurança. Todos os clientes que passam pela engenharia tem como recomendação reduzir a quantidade de appserver, respeitando a margem de segurança.

Para o Banco de Dados

Atenção

Esta documentação é válida para os bancos de dados SQL Server, Oracle e PostgreSQL.

Utilize processadores com 4 núcleos físicos da linha Intel com HyperThread habilitado, com o clock mínimo ou superior a 2.3 Ghz.

A seguinte tabela exibe as recomendações para a máquina que executará o banco de dados.

Memória RAM

32 GB

Tamanho mínimo do volume

400GB 

Velocidade de escrita mínima do disco

500 mbps/s

Velocidade de leitura mínima do disco

500 mbps/s

Throughput mínimo do disco

3GB/s

Placa de rede 

1 gigabit

Performance de IOPS

Quanto maior o valor de IOPS, melhor o desempenho do disco. Para exemplificar melhor esta proporção, verifique os dados da tabela abaixo:

Disco 7.200 RPM SATA 

~75-100 IOPS (não Recomendado)

Disco 15.000 RPM SAS

~175-210 IOPS (Recomendado)

Disco SSD simples (primeira geração) SATA 3 Gb/s

~8.600 IOPS (Recomendado)

Disco SSD Nova Geração 6Gb/s

~85.000 IOPS (Preferencial)

Atenção

  • Não recomendamos o uso de discos SATA 7.200 RPM, pois o mesmo tem um baixo desempenho no throughput de I/O.
  • Não recomendamos o uso de conexão iSCSI de 1GBit, mas sim, no mínimo, canais de 10GBit para o uso iSCSI.
  • Em caso de uso de storage com suporte ao TIER, utilize, de preferência, Tier 0, Tier 1 e Tier 2. Porém, é necessário validar a tecnologia de cada Storage, em alguns casos o cache da Storage pode suprir a necessidade do ambiente.
  • Na camada do Sistema Operacional é importante verificar se a média de escrita ou leitura se mantém inferior a 25ms
  • Não recomendamos o uso do Protheus no modelo Tier 3 pela sua baixa performance, tanto para o banco de dados quanto para a aplicação, pois o mesmo é se aplica para cenários de backup, que não terão muito acesso em disco.
  • Algumas Storages indicam o Tier 2 somente para backup. Verifique a documentação de cada fabricante para conferir qual Tier é indicado para o ambiente de produção.
  • Em Storages com tecnologia mais antiga, os Raids indicados são 5, 10 e 50. Porém, as storages mais recentes apresentam novas tecnologias de cache que aceleram o acesso aos dados. Analise a documentação de cada storage para verificar o melhor raid ou tier para seu cenário.

Provisionamento de Disco em Virtualizadores

No momento da criação dos disco é necessário realizar o formato de provisionamento. Os seguintes principais formatos de provisionamento de Disco são Thin e Thick. Esses formatos, inicialmente, foram mais popularizados nos virtualizadores; também são muito utilizados em  algumas Storages.

  • Provisionamento Thin: não aloca o espaço no sistema de arquivos no momento da criação do disco.
  • Provisionamento Thick: aloca o espaço no sistema de arquivos no momento da criação do disco.

O Formato Thin é interessante para ambientes de desenvolvimento, onde não há a necessidade de melhor performance.

A recomendação para se obter melhor performance do ERP e Banco de dados é que se utilize o formato Thick, alocando, no início da criação do volume, todo o espaço necessário.

Recomendação para o ambiente virtual:

Hyper-V:

VMWARE: