[firebase-br] Sevidor Firebird

Eduardo Bahiense eduardo em icontroller.com.br
Sáb Set 13 02:02:21 -03 2008


Olha, para ilustrar um pouco esse papo teórico, que acho muitíssimo 
interessante, vou relatar nosso ambiente que, pessoalmente, não canso de 
me admirar com a estabilidade e competência do FB.

OS: Debian
Hard: AMD Athon X2 4000+ 2,1Ghz
       2GB de memória RAM
       1 disco de 80GB SATA
       4mbps de link

FB 2.1 - forced writes ON

UP Time máximo conseguido: 500 dias sem reiniciar o equipamento ou o FB.

Reiniciações de hard foram por manutenção do hard e nunca por 
instabilidade de S.O. ou SGBD

Protocolo de comunicação: http
Arquitetura: n Camadas

Usuários (não simultâneos) : 8500

5 processos fastcgi gerenciando 3 FDBs (8096) (3GB, 1GB, 300MB)

Até 15 instâncias do Classic com configurações standard do firebird.conf

350.000 requisições / dia (85% GET, 15% POST)
Tempo médio de resposta dos pedidos 70 milisegundos

Uso médio da CPU: 90% idle

Há dois meses tínhamos apenas 1GB de RAM nesse servidor, porém 
detectamos um nível de SWAP elevado, que foi esclarecido por uma 
instabilidade do MySQL que roda uma central de atendimento ao cliente e 
estava comendo 500MB de RAM. Ao reiniciarmos o serviço do MYSQL, tudo 
voltou ao normal, mas por via das dúvidas, aumentamos a memória para 2GB 
e colocamos a Central com MySQL em outro server.

Quando tínhamos 1GB, sempre tínhamos, durante o dia, uso de 900 MB de 
RAM e 16 MB do Swap. Aumentamos para 2GB e hoje temos, normamalmente, 
1.9 GB em uso e 32KB de swap.

Conclusão que tiramos: Coloque o quanto de memória você quiser, o FB vai 
se espalhar e o próprio LINUX vai cachear o que conseguir e isso não 
quer dizer que eles estão usando memória de mais, mas apenas se 
beneficiando ao máximo do que você oferece. Assim, desencane com uso de 
memória e fique de olho no SWAP, se ele começar a aumentar, é porque a 
RAM está insuficiente.

O maior problema que tivemos no setup desse ambiente, não foi 
relacionando ao FB, mas sim à qualidade das queries programadas. 
Algumas, mal escritas, e de muito uso, levavam a 100% de consumo de CPU 
e praticamente travavam o server. O mesmo para algumas triggers com 
recursividade.

Assim, respeito quem diz isso ou aquilo do Classic e reconheço o 
conhecimento que essas pessoas demonstram, porém, na prática, sem 
"tunar" nada, rodando o script padrão de instalação, e sem DBA 
especializado na equipe, o Classic dá um show, levando-nos a concluir 
que a arte mesmo é ter conhecimento de Banco de Dados suficiente para 
arquitetar e modelar sua estrutura, e o resto, deixa que o FB dá conta 
do recado direitinho.

Já vi colega dizendo que teve que trocar o FB por Oracle porque o 
projeto eram muito grande e o FB não estava guentando. Nunca consegui 
entender bem isso.


Abraços


Eduardo

Carlos H. Cantu escreveu:
> SH> Isso é um problema da equipe de firebird, eles que devem
> SH> procurar resolver esses problemas.
> 
> Pelo jeito você não sabe quem é o Adriano que está falando com vc neh?
> Ele eh o único brasileiro que participa da equipe de desenvolvimento
> do Firebird e, diga-se de passagem, tem feito muitas melhorias no mesmo.
> 
> SH> Outra coisa, obviamente que não consegui resolve-los, a documentação não é
> SH> clara nesse aspecto. Já que voce comentou com relação a outros bancos, basta
> SH> verificar que o proprio MySQL tem uma documentação com uma qualidade muito
> SH> superior ao Firebird.
> 
> Isso é culpa da própria comunidade. Faça uma auto-crítica: vc já fez
> alguma coisa pra mudar/melhorar isso? Você contribui com a fundação
> Firbeird? Vc contribui com o projeto de documentação do Firebird?
> 
> O MySQL tem muito mais dinheiro, e consequente muito mais gente
> trabalhando, do que o Firebird. A culpa disso é da própria comunidade,
> que muitas vezes só reclama, e não faz nada pra ajudar (obs: nada
> pessoal contra vc).
> 
> []s
> Carlos H. Cantu
> http://www.warmboot.com.br
> FireBase - http://www.FireBase.com.br
> Blog - http://blog.firebase.com.br
> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista