Melhorar performance do site
Há uns dias andava a testar uma página para a empresa que estou a desenvolver um portal que servirá essencialmente para a promoção de cursos quando me deparei que numa simples listagem os tempos de PHP estavam algo exagerados.
Infelizmente muitas vezes as boas ideias ou soluções só nos vem à mente quando já passamos por vezes horas a fio, ou mesmo dias, a fazer testes e mais testes e quando nos damos conta, plimm, luzinha
Para terem uma ideia, o pagina em questão tinha que listar apenas 25 pedidos de informação, relacionados a cursos, mas tinha que fazer uma <select…> com todos os cursos, que neste caso era de 4000. Sei que o numero é algo alto, mas mesmo apenas com 500 cursos o tempo era demasiadamente exagerado 0.458961 segundos. Isto pensando que apenas eu estava a abrir esta página, e que após estar online servira centenas de utilizadores ao mesmo tempo, podem perceber a minha preocupação
Como referi acima, depois de muitas voltas, vários testes, cheguei à conclusão que o realmente demorava bastante era o tal <select> e quase, quase desisti, visto que nada podia fazer, precisava dele tal qual como estava.
Bem a solução passou por algo, que como referi acima foi tipo plimm (até me insultei a mim próprio), isto por que era tão simples como usar a função ob_start(); no inicio da página e ob_end_flush(); mesmo no final da página.
Para quem não sabe esta função o que faz é ir carregando tudo em memoria (servidor) e mostrar a página de 1 vez só, evitando aquelas situações de páginas que parecem que estão a ser carregadas às prestações
De referir que se a sua ligação à internet for lenta e a página pesada, vai sempre haver alguma falha, mas voltando ao assunto.
Apenas com o aplicar desta função o tempo foi reduzido dos tais 0.458961 segundos para 0.006717 segundos, o que realmente é uma grande diferença.
Para verem a documentação desta função podem ver o seguinte link:
http://pt.php.net/manual/pt_BR/function.ob-start.php
Para finalizar, como podem entender aconselho muito mesmo o uso desta função nos vossos sites.

