[MASOCH-L] Benchmark Microsiga

Carlos Felipe cfelipe at infocorp.com.br
Sat Apr 16 14:12:02 BRT 2011


Caro Breno, 

Sem entrar no mérito do produto, vou relatar o caso de Microsiga em que eu mais dei suporte (4 anos).

Tenho um cliente, uma indústria, que usa o Microsiga, para o qual eu dou suporte à infra. Ele trabalha com cerca de 120 usuários,
sendo aproximadamente 90 locais e 30 remotos em dois sites conectados por VPN.

Quando eu fui otimizar o sistema, ambos os servidores eram Dell PE2950 (seguiu-se a recomendação da Microsiga de separar as funções
em máquinas distintas), tinham 4GB de memória cada, e os processadores eram dois XEON (5xxx) com quatro cores cada a 1.6GHZ. O
servidor de aplicações tinha dois discos de 146GB SAS 15k em RAID 1, e o servidor de  BD estava com RAID 5 usando seis discos de
146GB SAS de 15K. Ambas as máquinas tinham duas placas de rede da Intel Gigabit Ethernet, não recordo o modelo.

Os sistemas operacionais eram Windows 2003 e o banco de dados era o SQL Server 2005, ambos em versões de 32 bits. Nessa época a base
tinha apenas 60GB. O número de usuários era o mesmo que hoje. O Protheus era versão 8.

O passo imediato, com os recursos disponíveis de tempo e verba, foi colocar mais 4GB (transferidos de outra máquina) no servidor de
BD. Isso, aliado a um tuning do SO e do SQL Server, aumentou a performance do BD em cerca de 40% (a referencia foi uma média de
rotinas, e a pior tinha tempo de execução que ultrapassava 15 h).  

O consumo de rede é sempre grande entre o BD e o servidor de aplicações, mas pequeno entre este último e os usuários. Usar as duas
placas de rede, uma para o segmento entre o servidor de aplicações e o servidor de BD, e outra no servidor de aplicações para
atender aos clientes é uma boa estratégia, pois permite o aumento da banda disponível, e isola o acesso ao servidor de BD. Foi feito
neste momento.

Alguns meses depois, com mais tempo e logo após alguns testes, mudei o RAID do servidor de BD. A performance do disco podia
melhorar, e como o espaço em disco não era problema, passamos para RAID 10, e instalamos os Windows 2003 na versão de 64 bits. Isso
levou a mais um ganho de performance perceptível, mas não foi medido com a exatidão necessária, assim eu prefiro não te dar um
número exato de ganho. Infelizmente não consegui fazer a atualização do SQL Server para 64 bits, pois o DBA vetou isso (sem
comentários).

Dois anos depois, como o espaço em disco estava chegando ao fim (o transaction log, a base e outros elementos consumiam quase tudo).
Como não havia previsão no orçamento para novos discos (era o auge da crise financeira), passei para RAID 50 com uma perda de apenas
5% de performance (medido com o SQLIO e depois com as rotinas de referencia) e ganho de volume em disco disponível para 33%. Nessa
época o tamanho da base já era de 95GB. Aproveitei e fizemos a reinstalação do SQL Server para rodar tudo em 64 bits. Colocamos mais
memória, levando o servidor de BD para 24GB e o de aplicações para 8 GB. Isso foi de longe o que mais deu ganho de performance,
levando a famigerada rotina das originais 15h para 2,5 horas, mesmo com o banco praticamente tendo o dobro do tamanho original).

Recentemente colocamos mais memória no servidor de BD e ele está agora com 32 GB. O Microsiga foi atualizado para a versão 10. Sua
base de dados tem cerca de 145GB, já o transaction log chega a 250GB facilmente em um dia.

RESUMO:

RAM:
Coloque o máximo de RAM possível no servidor de BD, uma referência seriam 20% do tamanho do BD, sem o transaction log. No servidor
de aplicações pode usar de 4 GB a 8 GB de RAM dependendo do número de usuários. Mais memória só em casos com muito mais usuários que
o indicado aqui. 

DISCOS:
Para discos use RAID 10 ou RAID 50 usando os discos mais rápidos que o seu orçamento suportar no servidor de BD. 
No servidor de aplicações basta RAID 1, com discos normais, não precisa ser nada excepcional.
Lembre-se que a base tende a crescer, logo deixe uma margem para o tempo de vida útil da máquina (razoável para uns 3 anos).

REDE:
Use placas Gigabite Ethernet de boa qualidade, mas não precisa ser o topo de linha. Usar duas, como descrito acima, é uma boa
pratica.

PROCESSADOR:
De novo dê o que puder ao servidor de BD (mais CPUS e cores = mais rápido). Já o servidor de aplicação não ganha tanto com múltiplos
cores, freqüência elevada é o que traz mais resultados. Provavelmente o Microsiga não faz uso tão bem de múltiplos cores quanto um
SGBD.

SOFTWARE:
Para isso ser devidamente aproveitado, use um SO de 64bits e um banco de dados que faça uso disso tudo decentemente.
Faça o tuning do SO e do SGBD de acordo com as recomendações do fabricante, mas sempre faça um benchmark de tudo antes de colocar em
produção. Lembre-se de documentar o que fez, ou em uma eventual reinstação o ambiente pode ficar diferente sem uma razão aparente.
Lembre-se que o custo do SGBD pode ser elevado, mas recomendo avaliar bem esse tópico. Existem boas soluções para Windows e Unix em
geral.

OBS:
Uma coisa que eu já fiz funcionar em outros clientes, e bem, foi colocar ambas as funções em um único servidor (coisa que a
Microsiga desaconselha).
Mas isso só deve ser feito por quem já está acostumado com o produto.

Mas lembre-se, cada caso tem necessidades distintas (usuários, complexidade das transações, etc). Então, executar testes e fazer o
desenvolvimento e customizações em uma máquina inferior, só comprando o(s) servidor(es) final(is) no momento da homologação pode te
economizar alguma coisa. Equipamentos tendem a se depreciar rápido e o ciclo de implantação de um ERP é sempre longo.

Espero ter ajudado.
Carlos Felipe.


|-----Original Message-----
|From: masoch-l-bounces at eng.registro.br 
|[mailto:masoch-l-bounces at eng.registro.br] On Behalf Of Breno Ribeiro
|Sent: Friday, April 15, 2011 23:37
|To: masoch-l at eng.registro.br
|Subject: [MASOCH-L] Benchmark Microsiga
|
|Boa noite a todos e me desculpem se o tópico não é adequado ou 
|deveria ser tratado como off topic.
|
|Alguém da lista trabalha com o Microsiga Protheus onde poderia 
|dividir sua experiência comigo no que se refere a consumo de 
|memória do Microsiga por usuário no servidor, qual o RAID que 
|utiliza e porque foi levado a esta opção (o sistema faz mais 
|leitura ou escrita), qual configuração do servidor que está 
|utilizando, número de usuários, quanto de memória RAM, usa 
|linux (qual), usa windows (qual), consumo de rede remoto, qual 
|banco de dados utilizado.
|Qualquer informação é bem vinda, pois não consegui obter 
|parâmetros para dimensionar o servidor a ser adquirido, nem 
|application server nem o do banco.
|Sintam-se a vontade para narrar a experiência obtida com o sistema.
|Conto com a ajuda.... valeu....
|
|Breno.
|__
|masoch-l list
|https://eng.registro.br/mailman/listinfo/masoch-l
|




More information about the masoch-l mailing list