[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