siorzor4 Prathous | Thiago Coimbra
CONFIGURAGAO DE BALANCE
NO PROTHEUS
Aviso: os ntimeros nesse post s4o baseados na minha experiéncia durante os anos de
trabalho com consultoria. No entanto, nao sou especialista em infra e por isso nao leve
como uma regra
Normalmente quando mais de 20 usuarios utilizam o sistema ja é desejavel dividir 0 servigo
do Protheus em 2 ou mais aplicagées para que todas operem longe do limite de meméria
(algo em torno de 1 GB). Quando uma aplicagao Protheus ultrapassa esse limite de uso de
meméria fisica, nao raro experimentar lentidao no uso do Smartclient e até mesmo
travamentos no Appserver.
A configuragao do balance, ento, se faz necessaria. O que é balance? O proprio nome
explica, balango. E uma aplicacao comumente chamada de Master, que faz uma divisdio
dos usuarios logados para cada servidor de aplicagao (Slaves) existente. Quando 0
usuario abre seu Smartclient e requisita uma conexao com o Master, este verifica os
usuarios logados em cada Slave e direciona o usuario para o Slave mais disponivel entre
todos de acordo com a porcentagem configurada para proporgao de cada Slave
Para saber em qual aplicago se encontra cada usuario, utilize a coluna “Servidor” no
Monitor para identificar o enderego e porta do Slave
TS
Conexa Visualizer
|e Ola) a i)
Usustion [computador [10 [| Servidor a [Ne Instructies
‘yieicha apmot 760 |p 172.21,64.s2:5012 488721
Sym andes ros 5860 172.21.64.82:5012 1768761
Ey iMibuto propos 4860 ff 172.21.64.52:5012 618667
mies capes S452 J 172.21.64.52:5011 30208943,
Sha sowor 4764 | 172,21.64.52:5011 25760550
mio RODI3 Sans 172.21.64.52:5011 2046000
fe DMoL 4616 || 172.21.64.52:5010 319508
Ey cite sOMOz2 3144 J 172.21.64.52:5010 3220274
Estes wor sete | 172.21.64.52:5010 a5se0t20
ime como2 1228 | 172.21.64.52:5010 293077
Uma vez entendido o conceito podemos entdo concluir que é necessario a configuragao de
um Appserver Master e 2 ou mais Appservers Slaves. Nao é nada complexo e compreende
apenas numa configuragao do arquivo INI de cada servidor.
hitpthiagocoimbra.comicategoryiprotheusy asvoraov4 Protheus | Thiago Coimbra
1) Comece replicando a pasta “appserver” dentro de “bin” criando por exemplo 5 cépias da
pasta: appserver_master, appserver_siave1, appserver_slave2, appserver_slave3 e
appserver_slave4.
2) Vamos configurar 1 master com 4 slaves proporcionando 25% das conexées para cada
um deles.
2.1) Appserver ini — Master:
Configure neste appserver a porta TCP que deseja que os smartclients se
conectem, por exemplo 5010. Depois adicione as seguintes configuragées no fim
do arquivo (modifique o enderego IP deste exemplo):
[ServerNetwork]
MasterConnection=0
Servers=SLAVE1, SLAVE2, SLAVES, SLAVE4
[SLAVE1]
Type=TCPIP
Server=192.168.1.1
Port=5011
Connections=25
[SLAVE2]
Type=TCPIP
Server=192.168.1.1
Port=5012
Connections=25
[SLAVE3]
Type=TCPIP
Server=192.168.1.1
Port=5013
Connections=25
[SLAVE4]
Type=TCPIP
Server=192.168.1.1
Port=5014
Connections=25,
2.2) Appserver ini ~ Slaves:
hitpthiagocoimbra.comicategoryiprotheusy
28svoraov4 Protheus | Thiago Coimbra
Configure cada slave em sua respectiva porta TCP de acordo com o configurado
em SLAVE1, SLAVE2, SLAVES e SLAVE4 no INI do Master.
2.3) Configuragao como servigo
Lembre-se de adicionar a configuragao de nome do servigo diferente em todos os
appservers configurados para que seja possivel distingui-los na lista de servigos do
servidor.
= Master Started Automatic Local System
Hg 107¥5 11 -Aplcacdo Brasil- Save Ot Started Automatic Local System
J TOTVS 11 - Aplcago Bra - Save 02 Started Automatic Local System
Hevroms peso es Sve 0 Statted Automatic Local System
Started Automatic Local System
cei. Licengar Started Automatic Local System
@y rows 11 - Panes Automatic Local System
ByTorvs 11 - Schedule Started Automatic Local System
@y rots 11 - Search Started Automatic —_—_Lacal System
By TOTVS 11 - SmartClient HTML TOTVS |S... Started Automatic Local System
stows 11-155, Started automatic Local System
Exemplo da configuragao:
[Service]
Name=TOTVS11_MASTER
DisplayName=TOTVS 11 — Master
[Service]
Name=TOTVS11_SLAVE1
DisplayName=TOTVS 11 — Slave 1
[Service]
Name=TOTVS11_SLAVE2
DisplayName=TOTVS 11 — Slave 2
[Service]
Name=TOTVS11_SLAVE3
DisplayName=TOTVS 11 — Slave 3
hitpthiagocoimbra.comicategoryiprotheusysiorzor4 Prathous | Thiago Coimbra
[Service]
Name=TOTVS11_SLAVE4
DisplayName=TOTVS 11 — Slave 4
3) Smartclients
Todos os Smarclients devem apontar sempre para o enderego e porta da aplicagdo
master.
Bastando essas configuragées para colocar em funcionamento o Balance. Se o seu
Protheus esta trabalhando com 40 ou mais usuarios, todos sentirao uma boa melhora na
performance
Esta configuragao de exemplo funciona bem com até 120 usuarios simultaneos. Eu utilizo
como referéncia a base de 30 usuarios por aplicagao slave. Evidentemente isso depende do
uso, caracteristicas do sistema, rotinas utilizadas e hardware disponivel para o sistema. E
como disse no aviso ao inicio desse post: nao sou perito em infra, portanto esses numeros
so conclusées pessoais minhas no decorrer da minha experiéncia dentro das empresas.
hitpthiagocoimbra.comicategoryiprotheusy 48