Para os testes de homologação do Protheus na GCP, a equipe de Engenharia de Dados Protheus teve apoio do corpo técnico da GCP "Google Cloud Platform".
Conforme estudo realizado em conjunto com o time de Engenharia da GCP, 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 pelas equipes nos tipos de máquina C2, N2 e N2D disponíveis da GCP.
Nos testes, utilizamos Windows e Linux; constatamos que o Linux obteve melhor desempenho (em torno de 17% de melhora) quando comparado ao Windows, dentro da arquitetura da GCP.
Tipos de máquinas recomendadas
Foram testadas diversas instâncias e as que apresentaram melhor performance para o uso do Protheus foram as máquinas dos tipos padrão N2, padrão N2D (de uso geral) e os tipos de máquina C2.
Atenção
Nota
As linhas de VMs N2 e N2D tiveram, praticamente, o mesmo comportamento em relação à performance. Para cenários que necessitam de alta performance em processamento, recomendamos o uso da linha de VMs C2, sendo possível mesclar máquinas horizontalmente. Quando não houver esta necessidade, as máquinas podem ser desligadas.
Configuração de cenário
- 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 máquina 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/Rest: Este servidor vale para Work Flow, WebService, Scheduler, Rest ou Jobs.
- Database: Utilize o banco de dados instalado em uma máquina virtual. Não recomendamos o uso do banco de dados em serviço, pois percebemos queda de performance nos testes de benchmark.
- Máquina TSS (SPED): Recomendamos que uma máquina específica seja dedicada ao TSS.
Para ambientes com C-Tree Server é recomendado as seguintes máquinas:
- Máquina Primária: com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess secundário.
- Máquina(s) Secundária(s): com Boundserver, AppServer Secundários, DBAccess Secundário.
- Máquina WebService/Job/Workflow: com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo secundário.
- Máquina TSS: com Broker (balance), Appserver Secundárias e DBAccess (Single).
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):
- Máquina Primária: com C-Tree, App Broker, App Broker VIP, App Compilação, App Balance (monitor), License Server, DBAccess SPOFless, DBAccess secundário;
- Máquina(s) Secundária(s): com AppServer Secundárias e DBAccess secundário.
- Máquina WebService/Job/Workflow: com Protheus WEBRest, Protheus WEBService, Protheus Workflow, Protheus JOB, Protheus Schedule, Protheus Mobile, e um DBAccess em modo secundário.
- Máquina TSS: com Broker (balance), Appserver Secundários e DBAccess (Single).
Portas sugeridas para liberação
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 |
Utilize esta alternativa com três objetivos:
- Agrupar melhor os recursos na GCP;
- Ter melhor controle de custos;
- 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 |
Blueprints recomendadas, de acordo com a quantidade de usuários simultâneos
Atenção
Nota
Após a escolha do Blueprint, 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, conforme a sua demanda. Importante que este Broker VIP seja instalado na máquina 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.
Para cada cenário, especificamos as arquiteturas recomendadas de acordo com as máquinas homologadas e quantidades de usuários.
O consumo das máquinas deverá ser até 60%, ou até a quantidade estipulada de usuários por instância, podendo ser realizado o escalonamento pela horizontal, de acordo com a necessidade.
É possível utilizar diferentes máquinas 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 máquinas, 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 máquina; estes endereços, portas e quantidades de usuários exibidos são meramente ilustrativos.