[firebase-br] Exemplos nacionais de sistes que usam firebird

Alexandre Pereira Bühler alexandre em simaoebuhler.com.br
Sáb Jul 5 18:33:45 -03 2014


Boa tarde,
Deixe-me explicar melhor.
Não digo acesso direto pela internet a base de dados.
Mas via php + firebird, ficando o servidor web e o servidor de banco de 
dados em uma mesma máquina  ou  servidores distintos na intranet.

Minha preocupação é a seguinte:
Sei que o movimento do site que tomei como exemplo é baixo e também  
vamos dar um desconto ninguém acessa o servidor em dia que o Brasil joga 
na copa do mundo (período que coletei os dados).
Obs: E/_ntendam thread a grosso modo  com uma "conexão feita, ativa ou 
em espera de uma conexão"_/
Mas tenho um cliente que possui um site (aplicação web+php+mysql) que o 
apache (windows) processa pelo menos 100 requisições simultâneas a cada 
segundo, com picos de 350 requisições em horário comercial.
No mysql (linux) em 2 dias e 16 horas de de uso houve uma média de 5 a 
22 threads conectadas, com pico de 98  threads conectadas simultâneas. 
Até o presente momento 4944 threads foram criadas sendo que em momentos 
de pico 44 threads foram caheadas para atender um total de 696767 
conexões efetuadas. 101 clientes abortados e 565 conexões abortadas. 
Fazer oque jogo da copa depois final de semana. Fica baixo "o movimento 
mesmo".
Vejo no monitor o total de conexões desde o ínicio do serviço (start) 
mysql com incrementos de 1 a 5 novas conexões por segundos, hoje sábado. 
Isto não para, somente fica lento de madrugada e final de semana.

Na situação descrita acima tivemos que fazer tuning no apache e no mysql 
para rodar satisfatoriamente, ou seja, tirar o mysql e o apache de sua 
configuração padrão.
Eu montei um servidor especifico para hospedar softwares com php e 
firebird 2.5, os quais pretendo desenvolver.
O que desejo é informações de uma situação semelhante ou pior que a 
descrita acima.
Exemplos de sites em php+firebird que tenham acesso pesado.
Se houve necessidade de tunar o firebird? Que mudanças tiveram que ser 
feitas? Se houve algo específico no código php que tiveram necessidades 
de mudança?
Por exemplo, no desenvolvimento web é comum no mysql usar select 
count(*) para fazer a paginação. Pois o mysql devolve esta operação em 
menos de 1 segundo.
Já no firebird e postgresql não posso usar a mesma estrutura se for 
criar a paginação de um select.  Vide: http://www.firebirdfaq.org/faq5/ 
e https://wiki.postgresql.org/wiki/Slow_Counting . Numa base de 1Gb o 
firebird demorou quase 18 segundos para criar a paginação ( << < 1 2 3 4 
5 6 7 8 9 ... > >>).
Sei que um select * from é loucura, mas vi select com filtros que 
retornam grande quantidade de registros em bases maiores que 3 GB por 
própria necessidade  do cliente. Ex: imobiliária. Por mais que se filtre 
a quantidade de registros que vem na tela são muitos.

Espero ter explicado ao invés de complicado.
Obrigado



Alexandre Pereira Bühler
Linux User: 397.546

Simão &  Bühler Ltda (Infobrindes)
http://www.simaoebuhler.com.br
alexandre em simaoebuhler.com.br
Telefone: (41) 3039-5428

Infobrindes (Simão &  Bühler Ltda)
Brindes e material promocional.
http://www.infobrindes.com.br
karin em infobrindes.com.br
Telefone: (41) 3082-8667






Mais detalhes sobre a lista de discussão lista