Conforme estudo realizado na plataforma da Azure, observamos foram observados cenários computacionais gerando melhores insights dentro de sua arquitetura computacional.
As recomendações desta página são baseadas nos testes de Benchmark realizados pelo time de Engenharia de Dados nas Máquinas Virtuais disponíveis da Azure.
Nos testes, utilizamosforam utilizados Windows e Linux; constatamos que o Linux obteve melhor desempenho (em torno de 15% de melhora) quando comparado ao Windows dentro da arquitetura da Azure. Usando escalabilidade, o Linux obteve os melhores cenários.
VMs recomendadas
Foram testados diferentes VMs. A série que apresentou melhor performance foi a DSv2, que pode ser visualizada na documentação da fornecedora ou na planilha abaixo.
Expandir |
---|
title | Utilizamos a séria DS v2 para os testes. Confira especificações desta neste expansível.Relação de VMs DSv2 |
---|
|
Tamanho | vCPU | Memória: GiB | Armazenamento temporário (SSD) GiB | Discos de dados máximos | Taxa de transferência máxima de armazenamento em cache e temporária: IOPS/MBps (tamanho do cache em GiB) | Taxa de transferência de disco sem cache: IOPS/MBps | Máximo de NICs | Largura de banda de rede esperada (Mbps) |
---|
Standard_DS1_v2 | 1 | 3,5 | 7 | 4 | 4000/32 (43) | 3200/48 | 2 | 750 | Standard_DS2_v2 | 2 | 7 | 14 | 8 | 8000/64 (86) | 6400/96 | 2 | 1500 | Standard_DS3_v2 | 4 | 14 | 28 | 16 | 16000/128 (172) | 12800/192 | 4 | 3000 | Standard_DS4_v2 | 8 | 28 | 56 | 32 | 32000/256 (344) | 25600/384 | 8 | 6000 | Standard_DS5_v2 | 16 | 56 | 112 | 64 | 64000/512 (688) | 51200/768 | 8 | 12000 |
|
VM´s Matriz e Secundários
Standard DS4 v2: Computação padrão baseada em Intel® Xeon® Platinum 8272CL (Cascade, Lake), Intel® Xeon® 8171M 2.1 GHz (Skylake) ou os processadores Intel® Xeon® E5-2673 v4 2,3 GHz (Broadwell) ou Intel® Xeon® E5-2673 v3 2,4 GHz (Haswell)
VM recomendado
Recomendamos o uso de VM´s Intel, pois este apresentou um desempenho melhor nos testes, comparado com a AMD.
Fluxo da arquitetura
Utilizamos Standard DS4 v2 com distribuição de carga durante a avaliação devido a arquitetura de baixo custo, onde ocorreu o maior fluxo de teste.
...
Configuração de cenário
Totvs custom tabs box |
---|
tabs | Cenário geral,C-Tree Server,Dicionário no banco,Proximity Placement Groups,Redes e Segurança |
---|
ids | 01,02,03,04,05 |
---|
|
Nota |
---|
| Não recomendamos o banco de dados como serviço da Azure, uma vez que as atualizações automáticas podem comprometer o funcionamento da aplicação. |
|
...
Totvs custom tabs box items |
---|
| Image Added - Máquina Primária: Possui a função de Gateway, direcionando as conexões para os
|
|
...
- Secundários. Se conecta nas máquinas
|
|
...
...
- Secundária 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. Estas máquinas recebem conexões de usuário e processos.
- Máquina Secundária VIP: Para cenários que necessitam de alta disponibilidade, pode ser definido uma
|
|
...
...
...
- 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.
- 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. |
|
...
Informações |
---|
Clientes que utilizam dicionário no banco de dados não precisam utilizar Storage Pool ou LVM. |
|
|
...
Quanto maior o volume apresentado, melhor é o Disk Throughput na Azure. |
|
|
=================================================
(Alterar conforme distribuição/estrutura montada na Azure)
Distribuição de serviços e o uso de VM´s
- C-Tree Server
- Dicionário no banco
- IO/LVM/Storage Pool
- Redes/Segurança
- Compartimentalização
- Conectividade do cenário real
Ponto de atenção
É importante que os discos estejam em modo High Performance. Quanto maior o tamanho do disco, mais performático será o throughput.
Recomendamos o uso da VM Intel.
==================================================
Informações |
---|
Os testes na Azure utilizaram as maquinas Standard DS4 v2 com a linha de processadores Intel e distribuição de carga durante a avaliação, devido a arquitetura de baixo custo e à melhor perfomance apresentada até momento. |
|
Totvs custom tabs box items |
---|
| Image Added Para ambientes com C-Tree Server, recomendamos, além do Storage Pool (Windows) ou LVM (Linux), os seguintes vm´s: |
|
...
- Máquina Primária: VM Standard |
|
...
DSv2, com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess |
|
...
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux). Para a protheus_data, binários e repositório de dados do Protheus, recomendamos o disco Premium SSD, considerando a combinação do storage pool (Windows)/LVM (Linux). Leve em consideração o cálculo do throughput provisionado, conforme: Quantidade | Disk tier | Tamanho | IOPS provisionado | Throughput provisionado |
---|
4 x 128GiB | P10 | 512 GiB | 2000 | 400 MB/s | 4 x 256GiB | P15 | 1024 GiB | 4400 | 500 MB/s | 4 x 512GiB | P20 | 2048 GiB | 9200 | 600 MB/s |
- Máquina(s) Secundária |
|
...
...
...
...
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux); Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. - Máquina |
|
VM WebService/Job/Workflow: VM Standard |
|
...
DSv2, com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo |
|
...
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. - Máquina VM TSS: VM Standard |
|
...
DSv2, com Broker (balance), Appserver |
|
...
Secundários e DBAccess (Single). |
|
...
...
sistema operacional, recomendamos o |
|
...
=====================================
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. Informações |
---|
Clientes que utilizam dicionário no banco de dados não precisam utilizar Storage Pool ou LVM. Quanto maior o volume apresentado, melhor é o Disk Throughput na Azure. |
Informações |
---|
Os testes na Azure utilizaram as maquinas Standard DS4 v2 com a linha de processadores Intel e distribuição de carga durante a avaliação, devido a arquitetura de baixo custo e à melhor perfomance apresentada até momento. |
|
Totvs custom tabs box items |
---|
| Image Added Nota |
---|
Não há necessidade do Storage Pool (Windows) ou LVM (Linux) para cenários com o dicionário no banco de dados, pois o workload está direcionado para o banco de dados. |
|
|
Para ambientes com Dicionário no banco recomendamos |
|
...
os seguintes VM's (lembrando que, quanto maior o tamanho do disco, mais performático será o throughput): |
|
...
- Máquina(s) Secundária(s): VM Standard DSv2, com AppServer Secundários e DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.Máquina Primária: VM Standard DSv2, com C-Tree, App Broker, App BrokerVIP, App Compilação, AppBalance (monitor), License Server, DBAccess SPOFless, DBAccess |
|
...
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
Máquina(s) Slave(s): VM Standard DS4 v2, com AppServer Slaves e DBAccess Slave. Utilizando o BlockStorage, 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.
...
(Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. - Máquina |
|
VM WebService/Job/Workflow: VM Standard |
|
...
DSv2, com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo |
|
...
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. - Máquina VM TSS: VM Standard |
|
...
DSv2, com Broker (balance), Appserver |
|
...
Secundários e DBAccess (Single). |
|
...
...
sistema operacional, recomendamos o |
|
...
disco Standard SSD para a unidade C:/ |
|
...
(Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. Informações |
---|
Clientes que utilizam dicionário no banco de dados não precisam utilizar Storage Pool ou LVM. Quanto maior o volume apresentado, melhor é o Disk Throughput na Azure. |
Informações |
---|
Os testes na Azure utilizaram as maquinas Standard DS4 v2 com a linha de processadores Intel e distribuição de carga durante a avaliação, devido a arquitetura de baixo custo e à melhor perfomance apresentada até momento. |
|
Totvs custom tabs box items |
---|
| Os Proximity Placement Groups realizam o agrupamento lógico de recursos, e aproximam o posicionamento destes de maneira a diminuir a latência de rede e, consequentemente, reduzindo o risco de erros ocasionados por falhas relacionadas à distribuição de carga de trabalho. Este recurso está disponível para todas as regiões de nuvem pública da Azure (excluindo a India central), e é possível mover recursos já existentes para um Proximity Placement Group ou para fora deste. Recomendamos, para o Protheus, o uso deste recurso, por diminuir a latência de rede entre os recursos. Image Added |
Totvs custom tabs box items |
---|
| Nota |
---|
| Para minimizar a latência, escolha a região mais próxima à sua localização. |
Para redes: visando |
|
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. O volume x:\ deve ser armado de forma ao acesso ser tripe em 4 volumes diferentes configurados com o modelo High performance 75 IOPs/GB do mesmo tamanho agregados em formato storage pool no Windows ou Volume Group no Linux.
Resultados esperados:
LVM 4x512GB : read: IOPS=85.4k, BW=667MiB/s (699MB/s) (19.5GiB/30008msec)
Como há um grande consumo do C:\ por parte do SO quando da execução do Protheus, recomendamos utilizar boot volumes de 512GB e configuração de IOPs High Performance.
- Passo a passo de como criar o Storage Pool (Windows) (em breve)
- Passo a passo de como criar o LVM (Linux) (em breve)
Redes:
...
segurança e melhores práticas, recomendamos trabalhar, no mínimo, com VNet para cada tipo de uso (Produção, Homologação e Desenvolvimento) e cada com duas subnets, sendo a primeira privada contendo as Appls e a segunda privada contendo |
|
...
...
Segurança:
...
...
- permitir somente as portas necessárias
|
|
...
- (siga o modelo de least privileges para grupos e usuários
|
|
...
- )
- Habilite MFA para usuários administradores
|
|
...
- Use criptografia em trânsito e em armazenamento.
|
|
Utilize esta alternativa com três objetivos:
- Agrupar melhor os recursos na Azure;
- Ter melhor controle de custos;
- Ter melhor organização das permissões de segurança.
...
Para agrupamento de recursos: Produção Aplicação Database | Homologação Aplicação Database | Desenvolvimento Aplicação Database |
Expandir |
---|
title | Clique aqui para visualizar as portas sugeridas para liberação no Grupo de Segurança de Rede. |
---|
| Aviso |
---|
| 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ços | TCP | WEB/HTTP | WEB/HTTPs | Comentários | C-Tree Server | 5597 |
|
| *Para clientes que utilizam dicionário em memória. | Broker | 10000 |
|
|
| Boundserver | 5848 e 10200 |
|
| *Para clientes que utilizam dicionário em memória. | Balance Monitor | 10100 |
|
|
| License Server | 5555 e 2234 | 8020 | 443 |
| Lock Server (Linux) | 17000 |
|
|
| DBAccess Primário | 7900 |
|
|
| DBAccess Secundário | 7890 |
|
|
| Instâncias Secundárias | 10001 ao 10999 |
|
|
| Scheduler | 16000 |
|
|
| Telnet | 12001 ao 12999 |
|
|
| JOB | 13001 ao 13999 |
|
|
| RPC/REST | 14001 ao 14999 | 8000 até 8999 | 443 ao 4443 |
| GravaBatch | 15001 ao 15999 |
|
|
| Web Service/WorkFlow | 11001 ao 11999 | 8000 até 8999 | 443 ao 4443 |
|
Informações |
---|
Para o funcionamento do Protheus será necessário que as portas dos serviços utilizados sejam liberadas no Network Security Group. Porém, |
|
|
|
...
não é obrigatória a liberação de todas as portas que estão descritas nesta tabela. |
|
|
|
Informações |
---|
title | BoundServer/BoundClient |
---|
|
O AppServer BoundServer/BoundClient consome apenas memória, e pode ser utilizado apenas por clientes com C-Tree Server Enterprise. Para os clientes que já utilizam o dicionário no banco de dados, este recurso não é necessário. |
====================================
Blueprints recomendadas de acordo com cada quantidade de usuários simultâneosAtenção
Nota |
---|
Não recomendamos VM´s maiores do que os listados para os servidores |
...
Secundários, sempre opte por |
...
escalonamento horizontal. |
Nota |
---|
|
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 VMs secundárias). |
Informações |
---|
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 |
---|
tabs | Máquina secundária VIP,Capacidade de cada VM,Mesclando VMs,Limite de processamento |
---|
ids | 1,2,3,4 |
---|
|
Totvs custom tabs box items |
---|
| |
|
...
- Slave VIP
- Capacidade de cada VM
- 50 usuários simultâneos
- 100 usuários simultâneos
- 200 usuários simultâneos
- Mesclando VM´s
- Zona Segura de Processamento
===========================================
...
|
---|
Para os cenários que necessitam de |
|
|
...
uma Máquina secundária VIP é importante ter um serviço do Broker VIP exclusivo para este cenário após a escolha do Blueprint, conforme a sua demanda. Importante que este Broker VIP seja instalado |
|
|
...
na Máquina Primária (Gateway). |
|
|
Ajustes no sistema operacional
=============================================
...
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 Added |
Totvs custom tabs box items |
---|
| Abaixo, sugerimos as VMs de cada máquina Secundária, de acordo com as quantidades de |
|
...
...
- 32 usuários (ou até 60% de consumo de CPU): VM Standard DS2 v2, com 1 App Boundserver, 2 Appserver
|
|
|
...
...
- Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 65 usuários (ou até 60% de consumo de CPU): VM Standard DS3 v2, com 1 App Boundserver, 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 130 usuários (ou até 60% de consumo de CPU): VM Standard DS4 v2, com 1 App Boundserver, 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 340
|
|
|
...
- usuários (ou até 60% de consumo de CPU): VMStandard
|
|
|
...
- DS5 v2, com 1 App Boundserver, 2 Appserver
|
|
|
...
...
...
...
- sistema operacional, recomendamos o
|
|
|
...
- disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
Image Added |
Expandir |
---|
title | Dicionário no banco de dados |
---|
| - Para até 40 usuários (ou até 60% de consumo de CPU): VM Standard DS2 v2, com 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 80 usuários (ou até 60% de consumo de CPU): VM Standard DS3 v2, com 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 180
|
|
|
...
- usuários (ou até 60% de consumo de CPU): VM Standard DS4 v2, com
|
|
|
...
- 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
- Para até 360 usuários (ou até 60% de consumo de CPU): VM Standard DS5 v2, com 2 Appserver Secundários e 1 DBAccess Secundário. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD.
Image Added |
|
Totvs custom tabs box items |
---|
| Para ambientes que não terão as quantidades anteriores mencionadas de usuários simultâneos, recomendamos a mescla das máquinas recomendadas conforme sua necessidade, podendo variar entre VM Standard DS2v2, DS3v2 ou DS4v2, com AppServer Slaves, Boundserver e DBAccess Slave. Para o sistema operacional, recomendamos o disco Standard SSD para a unidade C:/ (Windows) ou /.(root) (Linux). Para a unidade dos binários e repositório de dados do Protheus, recomendamos o disco Premium SSD. No exemplo abaixo, são definidas quatro VMs, 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 VM; estes endereços, portas e quantidades de usuários exibidos são meramente ilustrativos. Image Added |
Totvs custom tabs box items |
---|
| O limite de processamento refere-se à quantidade que pode ser consumida sem atingir o limite de saturação. Neste cenário, o limite é considerado ao respeitar a quantidade de recursos estipulada ou utilizando até 60% de CPU. Image Added |
|