Histórico da Página
Nota | ||
---|---|---|
| ||
♦ Esta documentação é válida a partir do Release 12.1.2210 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 o ERP
Para o uso do Protheus com até 100 usuários, utilize 8 núcleos (8 core processor) da linha Intel ou AMD tecnologia x64, com o clock mínimo ou superior a 2.3 Ghz.
Nota | ||
---|---|---|
| ||
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 (Sistema Operacional) | 120GB |
Tamanho mínimo do volume (ERP) | 250GB |
Throughput de escrita mínima do disco (SSD - ERP) | 96 MB/s |
Throughput de leitura mínima do disco (SSD - ERP) | 48 MB/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 | DBAccess |
Aviso | ||
---|---|---|
| ||
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. |
Aviso | ||
---|---|---|
| ||
♦ A partir desta release (12.1.2210), não é necessário o uso do LockServer em ambientes Linux. Esta ; esta ferramenta será descontinuada em releases posteriores. ♦ Note que: O Lockserver é uma ferramenta exclusiva para ambientes Linux. |
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 e License) = 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
Utilize processadores com 8 núcleos (8 core processor) da linha Intel ou AMD tecnologia x64, 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 | 42 GB |
Tamanho mínimo do volume (Sistema Operacional) | 120GB |
Tamanho mínimo do volume (Database) | 500GB |
Throughput de escrita mínima do disco (SSD - Database) | 144 MB/s |
Throughput de leitura mínima do disco (SSD - Database) | 96 MB/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:
Para a release 12.1.2210 é recomendo o uso de volumes com SSD.
Disco 7.200 RPM SATA | ~75-100 IOPS (não Recomendado) |
Disco 15.000 RPM SAS | ~175-210 IOPS (não 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) |
Nota | ||
---|---|---|
| ||
|
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.