Fórum Configurações do Servidor Firebird - Hardware - SuperClassic - Classic - SuperServer #490216

26/08/2014

0

Estou entrando em contacto pois me surgiu uma questão muito alarmante e não sei o que devo fazer, pois eu recorro a sabedoria de muitos diante com o firebird, veja a minha situação:

Nós usamos até hoje o Firebird SuperServer(Cache compartilhado), onde no começo(3 anos atrás) era muito rápido, pois tínhamos 4 máquinas conectados e 500MB de banco em um servidor DELL xeon 2.1GHz com 4GB de Ram com Windows Server 2003 32bits, até ai a velocidade era indiscutível. As 4 máquinas, cada uma com seu usuário e ainda fazendo coisas diferentes não apresentava lentidão.

Mas hoje a velocidade de antes não existe mais, pois temos 20 máquinas conectadas utilizando o mesmo servidor e ainda no SuperServer, com 20 usuários diferentes e executando tarefas diferentes um do outros, 4 ou 5 usuários executam as mesmas tarefas, como relatórios, e inserção de dados no banco. A quantidade de dados inserido no banco é muito grande. Nosso banco de dados cresce 1,3GB por anos.
Pretendo comprar um novo servidor para melhorar o desempenho em termos de hardware.
Mas minhas perguntas são:

Qual tipo de Firebird eu devo instalar, continuar com SuperServer, ou utilizar o SuperClassic ou Classic? lembrando que tenho 20 usuários diferentes fazendo coisas diferentes ao mesmo tempo.

Qual a configuração que devo dar uma atenção maior, GHz do processador? cache do processador? Memória? Qual desses dois maior é melhor? HD SSD?

O que mais eu preciso fazer para melhorar o desempenho do Firebird para os computadores cliente?
Bruno Silva

Bruno Silva

Responder

Post mais votado

27/08/2014

Manter a performance requer geralmente um conjunto de soluções, pois são vários os gargalos, exemplos (por experiência própria, para outros cenários poderá variar):

Qual tipo de Firebird eu devo instalar, continuar com SuperServer, ou utilizar o SuperClassic ou Classic?

- Utilizo a versão Classic, em CentOS Linux 64 bits no servidor, 18 estações constantes com Windows 7 64 bits, 04 notebooks (Windows e Mac) ocasionais e 02 estações (Windows) remotas (Via wireless a 50mt de distância). A perda de performance em rede usando a Classic não foi significativa considerando o número de usuários. O fator determinante para a escolha da Classic foi a estabilidade (se um terminal der problema, não afetará os demais).
--- Diferenças entre as versões SuperServer, Classic e SuperClassic: http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic
- Verificar se a versão que está sendo executada é a última mais estável lançada, pois além das correções de bugs, podem haver melhorias também para a performance:
--- http://www.firebase.com.br/fb/noticias.php?id=2684
--- http://www.firebirdsql.org/en/downloads/
--- http://tracker.firebirdsql.org/browse/CORE?report=com.atlassian.jira.plugin.system.project:versions-panel

Qual a configuração que devo dar uma atenção maior, GHz do processador? cache do processador? Memória? Qual desses dois maior é melhor? HD SSD?

- Nosso servidor atende o Firebird e a centralização de documentos (o ideal seria servidor dedicado apenas para o Firebird). Processador de 3 Ghz (não é top, mas trabalha mais frio e isto é um problema a menos), 04 gb RAM, HD Seagate 1TB SATA III Barracuda 7200 Rpm 64 cache. O servidor fica ligado 14 horas por dia, 06 dias por semana. Ao final de um dia de trabalho, o pico de consumo de RAM não chega a 3 gb ou seja, não faz swap (o que causaria lentidão)
- O servidor de backup é exatamente igual ao servidor principal (Exceto nome e IP). Se houver pane de hardware, faz-se a inversão das máquinas e ajusta-se o nome e o IP.
--- Poderíamos ter colocado um servidor bem mais parrudo (e caro), mas isto teria inviabilizado o servidor de backup ser exatamente igual. Se o sistema precisa sair do ar para Uma simples manutenção programada (limpeza de hardware), avisada com antecedência, já começa a pressão: E o servidor já está no ar ? Já voltou ? Logo, mandar o servidor para uma assistência porque deu pau na placa mãe e deixar todo mundo offline sabe-se lá por quanto tempo, nem pensar.
--- Os no-breaks também são iguais em autonomia, com simulações regulares de falta de energia onde coloca-se o servidor em pausa antes da carga do S.O. e puxa-se o cabo do no-break da tomada para avaliar se segura a tensão por pelo menos 5 minutos.
- Servidores na maior parte do tempo precisam de vazão de dados (checar a performance da parte de rede)
- HD SSD pode representar ganhos de 50% (segundo alguns fóruns), mas placa mãe, memória RAM, placa de rede, switchs, cabeamento, etc. tem que estarem no mesmo nível senão estes gargalos freiam o desempenho obtido.
- Ainda sobre HD SSD, cuidado na escolha:
--- Análise de Marcas: http://www.storagereview.com/it_s_game_over_for_most_consumer_ssd_companies
--- Marcas que lançam um produto de hardware bom para passarem com nota 10 em testes e depois de algum tempo fabricam os mesmos modelos com peças de pior qualidade para aumentarem os lucros: http://www.extremetech.com/extreme/184253-ssd-shadiness-kingston-and-pny-caught-bait-and-switching-cheaper-components-after-good-reviews

- Sistema operacional: Firebird (foi comentado em alguns livros e fóruns) tem melhor desempenho no Linux (talvez nas versão mais atuais não tenha diferença)
- Sistema operacional: Dependendo da versão do Windows pode ter perda de performance.
---- http://support.microsoft.com/kb/2549369
---- http://dyemanov.blogspot.com.br/2012/03/firebird-vs-windows-file-system-caching.html
- Arquitetura: 64 bits mostrou-se mais estável e robusta (opinião pessoal, no transcorrer do dia parece que o sistema mantém a mesma performance, sem sinais de fadiga)
- Utilização do servidor: Se for dedicado exclusivamente para o Firebird, ok. Se não, deve-se avaliar qual o consumo de recursos feitos por outras aplicações e usuários (ex.: copiar/gravar vários gigas de documentos no servidor vai causar lentidão no Firebird por saturar a vazão de dados do servidor.
- Processo de backup: Está agendado para horários de menor uso do sistema !?
- Como estão algumas configurações do Firebird: garbage collection e cache !?


O que mais eu preciso fazer para melhorar o desempenho do Firebird para os computadores cliente?

- Se a velocidade da rede for 10/100: Considerar a possibilidade de mudar para 10/100/1000 para o servidor atender mais rápido (ter vazão de dados)
- Projeto do Sistema: As querys estão bem otimizadas !? Ex.: Substitui o uso do extract em campos datas no processamento de períodos em relatórios. O que levava quase 2 minutos (dava para ir buscar um cafezinho) passou para cinco segundos (foi visível a melhora, sem ter que tocar no hardware). A criação de alguns índices que, embora tornem mais lento a edição de dados (perda de performance não foi relevante), também melhorou outros casos de consulta de dados.
- Projeto do Sistema: São exibidos em grade de dados, no geral, somente os 5 últimos registros (o sistema carrega mais rápido) para o usuário se situar (saber onde parou). Se o usuário quiser consultar mais registros (mais raro de acontecer, pois preferem ver a informação já trabalhada em relatório), utiliza filtro informando o período e/ou qualquer outro dado.
- Arquitetura em estações: 64 bits também mostrou-se mais estável e robusta (não se percebe fadiga ao longo do dia).

Apenas complementando sobre o backup:

- Diariamente o backup do Firebird é restaurado no servidor reserva (servidor de backup)
- No servidor de backup é testada a integridade dos arquivos (verifica-se logs de erros e se acessam os dados). O backup deve estar 100% funcional.
- 01 vez por semana, uma cópia é gravada em DVDs, retirada da empresa, é restaurada e testada em outro computador. Se a empresa sofrer algum sinistro (roubo, incêndio, queima de eletrônicos por raio, etc.) que destrua as informações, haverá ainda o backup externo.

Att.

Anderson.

Anderson

Anderson
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar