Sei sulla pagina 1di 25

Turbinandoo

Protheus

dicas e truques para


voc turbinar o seu
Protheus
INTRODUO
Manter um sistema como o Protheus funcionando bem, muitas vezes bastante desafiador, so
muitos aplicativos envolvidos, sistema operacional, bancos de dados, hardware e por a vai, fora as
complicaes inerentes ao prprio sistema mesmo.

Muitas vezes o analista responsvel por manter toda essa estrutura no tem todas as informaes
quanto a melhoria de performance e melhores prticas para uso do sistema e se depara com
lentides, travamentos, problemas em backup e outras questes que ocorrem no dia a dia.

Fiz este e-book pensando em fazer um apanhado das melhores prticas e itens do Protheus que
podem ser turbinados para sua estrutura ficar tinindo, funcionando de forma rpida e segura.

Muitas vezes nem sabemos que existem certas funcionalidades, e s vezes sabemos que existem mas
no sabemos o nome, da difcil at de pesquisar solues ou tutoriais pois no sabemos nem o
que estamos procurando.

O objetivo fazer uma explanao sobre cada ponto que pode ser turbinado, e voc j pode
colocar em prtica o que se adequar a sua realidade. No detalhei como fazer a instalao e
configurao de cada item tin-tin por tin-tin, mas as informaes que vc vai receber neste e-book
vo abrir seus olhos para muita coisa que deve ser otimizada no Protheus e no muito divulgada
nem pela TOTVS nem pelos especialistas em geral.
BANCO
de

dados
O PROTHEUS SUPORTA
DIVERSOS BANCOS DE
DADOS:

Mastemalguns
procedimentosquepodem
serfeitosparamelhorara
performancedoseuSGBD
a
im
x
r
ap a
n gin
eja p
*Sempre consulte um DBA
antes de fazer qualquer ao no SGBD
V
SEPARAR
BASESDEDADOS
O banco de dados consome muita comunicao com o HD, por conta da grande quantidade de
consultas e gravaes de dados que so feitos a cada segundo, e uma das formas de melhorar isto
separar os bancos de dados que voc tem em computadores diferentes.

Por exemplo, vamos dizer que voc tenha o banco de dados principal, o banco das NF-e (TSS) e o
banco do audit trail. Tente coloc-los em instncias diferentes e se possvel em mquinas diferentes.
Se vc no conseguir colocar em mquinas diferentes, coloque pelo menos em HDs diferentes, isto j
vai auxiliar muito na performance do sistema.

Pela mesma razo acima, interessante separar os arquivos de log dos arquivos de banco. Nos
arquivos de log ficam todos os comandos executados contra o banco de dados, ento, sempre que
h uma incluso de clientes (por exemplo) o sistema grava a informao no log e tambm no
banco, isto gera concorrncia de escrita se for utilizado em um s HD, ento, quando for possvel,
faa esta separao.
BACKUP
Configure seu backup para ser copiado por uma placa de rede
dedicada, pra no disputar com o trfego do sistema o envio de
dados.

Backup algo que pode te sabotar durante o uso do sistema, se


vc tem muitos dados e faz um backup no meio do dia isto pode
carregar a sua placa de rede e dar lentido no sistema.

Muita gente, para resolver esta questo, faz backup apenas a


noite... mas esta tambm uma estratgia arriscada, o ideal
fazer diversos backups incrementais durante o dia para ter mais
segurana em caso de desastres.
NDICES
NOSGBD
Avalie a criao de novos ndices nos bancos do Protheus,
conforme sugeridos pelo DBA ou pelo prprio SGBD, isto no
diretamente incentivado pela TOTVS mas pode gerar ganhos de
segundos em cada transao, ou seja, pode fazer toda a diferena
na performance de algumas rotinas.

Faa uma varredura nas suas tabelas (O DBA pode te auxiliar


nisso) para ver se h ndices desnecessrios no banco de dados, o
nmero alto de ndices pode facilitar a recuperao de dados, mas
deixa lenta as incluses e alteraes, pois todos os ndices devem
ser atualizados a cada nova incluso/alterao/excluso.
STOREDPROCEDURE
Stored procedures so como programas que voc
coloca diretamente no banco de dados.

Um exemplo de stored procedure no Protheus a


stored procedure de reclculo de custo mdio.

Ento, se est lento quando voc recalcula o custo


mdio no sistema, avalie fazer a instalao das
stored procedures do Protheus, o ganho de tempo
(performance) enorme! (H diversas outras
rotinas com esta funcionalidade de stored
procedure disponvel)

O ganho grande pois a rotina vai rodar


diretamente no banco de dados, em vez de passar
pelo protheus, dicionrio de dados, ctree, odbc, top
connect e etc, o ganho de performance sempre
muito bom.
Useo
BROKER em
conexes
lentas

Sabe aquelas situaes onde o usurio acessa o sistema fora da empresa, pela Internet e
o sistema cai a toda hora? Isso ocorre muito em empresas de varejo onde existem lojas
em cidades com Internet muito ruim.

O Broker alivia este problema, o broker segura a conexo (no deixa dar erro de rede)
por x segundos (configurveis), ento, quando a rede instabilizar o sistema no vai sair
do ar, ele d uma 'travada' na tela e quando a rede voltar o usurio continua de onde
estava. No a melhor soluo de todas mas j ajuda bastante!
MQUINA VIRTUAL
timo utilizar mquinas virtuais, elas facilitam muito
a escalabilidade e maior aproveitamento dos seus ativos
de hardware e software.

Mas, cuidado com mquinas virtuais, dependendo da


configurao que voc utilizar, o sistema pode ser muito
prejudicado, principalmente pelo compartilhamento de
HD e processador, h casos de performances sofrveis
em clientes TOTVS que so resolvidas rapidamente s
em sair da mquina virtual e colocar o sistema em
mquinas fsicas.

Ento, cuidado com mquinas virtuais.


C-TREE
SERVER
O Ctree um aplicativo da Faircom
que utilizado para gerenciar os
arquivos de dicionrios de dados do
Protheus. O uso dele opcional
quando voc tem poucos usurios
no seu sistema ( at 10 ) , mas
indicado quando a estrutura um
pouco maior. Ento, se voc tem
mais de 10 usurios, j avalie
instalar o c - tree server, a TOTVS
libera a licena para at 64 usurios
sem cobrana de licenciamento, a
partir disso tem uma cobrana : (
BALANCE
Outra funcionalidade importante do Protheus, o balanceamento de
carga.

Normalmente quando voc instala um Protheus vc inicia com apenas


um servidor de aplicao, mas a medida que a quantidade de
LOAD usurios vai aumentando o servidor de aplicao no suporta muitos
usurios, ento voc tem de criar uma estrutura chamada de load
balance.

Ele funciona com um server que o MASTER, e vrios outros servers


que so chamados de SLAVES, o exemplo abaixo tem apenas 2
slaves, mas poderiam ser mais:

Voc pode fazer o balanceamento


inclusive em computadores
diferentes, o master pode ficar em
um computador e os slaves em
outro, ou parte dos slaves em um
computador e o restante dos slaves
em outro... bem flexvel isto.
INACTIVE TIMEOUT

Muitas vezes os usurios do Protheus entram no sistema, fazem


uma atividade, saem do computador e deixam o sistema logado.

Alm de ser uma questo de segurana, isto tambm consome


licena e recursos do sistema.

Para derrubar estes usurios inativos, use a clusula inactivetimeout


do Protheus, depois de x minutos (configurveis) o sistema derruba
o usurio e libera os recursos e a licena.
DESFRAGMENTAR REPOSITRIO

DEFRAG

O repositrio de objetos do Protheus onde fica toda a inteligncia de


negcio do Protheus, l esto todas as funes de incluso de produtos,
notas fiscais, bibliotecas e muitas outras funes.

Com o tempo, o rpo ( repositrio ) pode ficar bem grande, a medida que vc
aplica patchs, updates e faz compilaes de fonte... ento, importante
voc fazer a desfragmentao para ganhar vrios MB que sero
economizados em HD ( E memria RAM ) na execuo dos appservers.

E se voc utilizar o load balance isto pode ser uma economia de Gigabytes!
AuditTrail
Audit trail o log de alteraes do Protheus, ele controla o que foi alterado, por
quem e quando foi alterado.

Ento se voc altera um cadastro de um fornecedor, o sistema guarda os dados


anteriores a alterao, os dados novos, o usurio que alterou e a data/hora.

Voc pode escolher quais tabelas vc quer auditar, e tambm o nvel de auditoria, o
mais baixo ou o mais alto.

Mas, cuidado com o audit trail, se vc configurar o audit trail com a auditoria mxima
em todas as tabelas (100% das tabelas e campos) ento voc com certeza ter um
sistema com a performance depreciada...

Avalie quais tabelas e quais nveis de auditoria voc quer, isso pode fazer toda a
Lembrando que:
diferena na performance do seu sistema. Quanto maior o nvel de
As tabelas que sero auditadas uma configurao opcional, ento sempre coloque
auditoria menor ser a
na balana a questo da auditoria vs performance. performance.
Quanto menor a
Lembrando que, quanto maior o nvel de auditoria menor ser a performance e auditoria maior ser a
quanto menor a auditoria maior ser a performance.
performance.
ATUALIZAO Sabemos que as atualizaes do Protheus s
vezes nos trazem muitos problemas, mas tambm
temos de estar atentos para verses de binrios,
TSS, audit trail e demais aplicativos do Protheus
pois com eles desatualizados podemos carregar
vrios problemas que j foram resolvidos
pela TOTVS como manipulao de memria, leak
de memria, conexes erradas com sefaz e etc.

Ento, sempre tenha no seu planejamento a


atualizao dos aplicativos Protheus.
BOUND SERVER
O c-tree BoundServer (c-tree Server DLL) , basicamete, um
servidor c-tree que sobe junto (embedado) com o Protheus
Server.

recomendado seu uso em ambientes onde utilizado


apenas um Protheus Server como servidor de aplicao,
onde os dicionrios no tm seu acesso compartilhado com
outros servidores Protheus.

Ns do UF nunca precisamos utiliz-lo, mas vale o


registro!
ROTINAS
AGENDADAS
Temos de ter ateno em
Imagine uma tarefa que
roda de hora em hora.
rotinas agendadas, se vc
Agora imagine que esta
utiliza o gerenciador de
rotina est com alguma
tarefas do windows ou o
falha e apresenta
prprio schedule do
travamentos, ento em 1
Protheus importante
dia vc ter 24 processos
sempre vc acompanhar
travados depreciando sua
como est a execuo
performance, e no decorrer
destas tarefas, pois uma
dos dias isso vai piorar
tarefa agendada com
ainda mais. Por isso temos
problemas pode depreciar
de ter bastante ateno
todo o sistema e vc nem vai
com esses agendamentos.
saber exatamente de onde
vem a lentido pois uma
Ento, fique de olho nas
rotina que executada
rotinas agendadas!
automaticamente.
Gargalos
Voc tem sempre de estar atento com os
gargalos que podem estar ocorrendo no
sistema, a estrutura do Protheus bem
distribuda mas ela impactada de forma
serial quando h algum ponto com lentido.

Por exemplo, o sistema todo pode estar bem


dimensionado e rpido, mas se o SGBD
estiver lento ento toda a estrutura sofrer.

Ento, realmente a performance do sistema


todo ser definida pela velocidade do
componente mais lento da estrutura. Ento,
sempre deve-se ter ateno no SGBD,
dbaccess, audittrail, appserver, rede, hd,
processamento e demais itens que impactam
na estrutura Protheus.
Tem uma funcionalidade do protheus que
permite a voc desabilitar alguns itens do
BROADBAND sistema para ganho de performance

Voc pode desabilitar:

1 - O menu funcional
2 - Painel Online
3 - Browse de internet na abertura do sistema
4 - Detalhes apresentados nas telas de Browse
de tabelas
5 - Exibio de painis transparente em
interfaces de destaque
Estas modificaes so feitas no .INI do
server

Use para clientes com problemas de lentido


de hardware ou rede.
Especialize
osservers
Sempre que for possvel, crie servers especialistas,
isto facilitar muito a manuteo do sistema e
tambm a velocidade.

Voc pode ter um appserver nico que servidor


de aplicao pra usurios, license server,
webserver, servidor http, servidor ftp e por a vai...
mas, sempre que possvel, tente separar estes
servios em appservers separados.

Claro que nem sempre isso ser possvel, temos


limitaes de hardware e s vezes desnecessrio
fazer a separao, mas com a separao tem-se
um ganho tanto de performance quanto de
organizao.
Diriodebordo
DATA HORA AO RESP.
Mantenha um dirio de bordo sempre atualizado com 01/01/16 08:00 SERVER REINICIADO JOO
tudo que feito na estrutura dos computadores e 02/02/16 19:00 UPD APLICADO ANDREA
07/02/16 19:00 UPDSIGAFIS APLICADO ANDREA
servios envolvidos com o Protheus. 27/03/16 10:00 DBACCESS REINICIADO ANDREA

Nem sempre ser s voc quem mexer na estrutura,


na verdade muito comum vrias pessoas mexerem
nisso, ento importante ter um local centralizado e
atualizado de tudo que ocorre de manuteo ou
ocorrncia nos servidores do Protheus.

A dica seria criar uma planilha no GoogleDrive para


controlar isto e dar o acesso a quem ir atualizar o
dirio. necessrio disciplina pra manter estes
registros, mas muito importante para todos da equipe
terem o histrico completo e fcil do que est sendo
feito na estrutura Protheus.
LIMPEZA de
arquivos
O grande nmero de arquivos que o protheus precisa
pra trabalhar acaba por tornar vrias tarefas mais
trabalhosas na manuteno do sistema.

Ento deve-se sempre verificar estes arquivos e fazer a


limpeza deles.

Por exemplo RPOs no utilizados mais, de testes ou


ambientes criados para analistas, muito comum os HDs
dos servidores ficarem sem espao por conta da grande
quantidade de RPOs obsoletos que so deixados nos
servidores.
ORGANIZAO

TenhasempreorganizaoemtodaasuaestruturadoProtheus,noadiantamontarumambientetodohomologadopela
TOTVSemantlodesorganizado.
Nodeixeacumulararquivosquenoseroutilizados,tenhasempreumpadrodenomenclaturadeservers,pastas,
repositrios,ambienteseetc.Semorganizaovocfatalmentesucumbiraproblemascausadospelaprpriadesorganizao.
Ouseja,aorganizaoinvestimento,semprereservetempoparadeixartudomuitobemorganizado.
Faltoualgumacoisa?
Este e-book um documento vivo e est sempre em atualizao. Se faltou
algo, no deixe de nos contactar pelo site ou pelo contato@userfunction.com.br

userfunction.comConsultoriaespecializadaemProtheus
contato@userfunction.com.br
Protheus, ADVPL, Sigaloja e TOTVS so produtos e marca registrada de propriedade da TOTVS S.A. Logotipos TOTVS e Microsiga so de
propriedade da TOTVS S.A. A Userfunction consultoria uma empresa de consultoria independente e no tem nenhum vnculo direto ou
indireto com a TOTVS, qualquer uma de suas franquias ou qualquer um de seus representantes.

Potrebbero piacerti anche