Acelere o tempo de carregamento do seu site com o PHP Flush()

 

PHP Flush(): Acelere o carregamento do seu site

Velocidade de carregamento de um Web Site é um fator primordial para se conquistar novos usuários, clientes ou até melhores posições nos buscadores como o Google. De fato, ninguém gosta de esperar muito tempo para que um site carregue completamente, geralmente quando demora muito, ele irá procurar um concorrente. Através de uma função muito simples do PHP, o Flush(), é possível otimizar o tempo de carregamento de um Web Site, veja como utilizá-la.

Quando você abre um Web Site em seu navegador, é enviada uma solicitação ao servidor onde ele está hospedado, para que começe o processamento e o seu posterior envio. Entretanto, há um pequeno delay, um tempo de espera entre esta solicitação e este envio, geralmente de 200 a 500ms. Enquanto isso, o navegador fica aguardando a página carregar…

Com o PHP Flush(), o servidor envia uma resposta parcial para o navegador, mesmo antes de carregar completamente e completar o envio. Assim, enquanto o servidor está processando a página a ser enviada, o navegador já começa a montar a página HTML, reduzindo então no tempo de carregamento total da página.

 

Como Utilizar

Existe apenas uma forma de se utilizar a função PHP Flush(). Você deve inseri-la logo após o fechamento da Tag Head e antes da abertura da Tag Body, desta forma, enquanto o servidor processa o restante do conteúdo, o navegador já irá receber os cabeçalhos, arquivos de estilo CSS, Javascripts e tudo mais que estiver na Tag Head.

<head>
</head>
   <?php flush(); ?>
<body>
</body>

Em testes realizados por mim, o tempo de carregamento reduziu em cerca de 1.5 segundos. Acreditem, na Internet, 1 segundo e meio é muito tempo.

Gráfico de comparação de um site sem a Função Flush() e com a Função Flush()

Gráfico de comparação de um site sem a Função Flush() e com a Função Flush()

Para finalizar, não confundam a função flush() com a função ob_flush(). A função ob_flush() descarrega o buffer criado com a função ob_start(), diferente da flush(), que descarrega o buffer desde o momento que o PHP é chamado, ou seja, no início da página.

Espero que tenham gostado!

Lucas Peperaio

Estudante de Ciência da Computação, trabalho com desenvolvimento web há 5 anos e com hardware há 8. Nas horas vagas, sou entusiasta de Overclock, Casemod e Benchmarks, além é claro dos Games. Apaixonado por informática e pela vida, procuro compartilhar meus conhecimentos e assim, ajudar as pessoas. Siga-me no youtube, posto semanalmente muito material sobre Hardware, tecnologia e games em geral: Clique aqui

Receba gratuitamente em seu E-mail
Novos artigos do meu Blog!


Após o Cadastro você receberá um Email Automático. Clique no link enviado para Ativar e receber as novidades.

Categorias do site





11 Comentários Deixe o seu

  1. Mario

    Bom demais isso ae…

  2. prns

    essa eu não sabia show show vlw ae lucas

  3. Felipe

    A dica é excelente, mas tem q lembrar q se usar o flush() nao vai conseguir usar o gzip pra comprimir os arquivos, ai fica a duvida qndo usar flush e qndo usar gzip? Acredito q se o tempo de processamento da pagina for alto, o flush pode resolver, mas dependendo dos arquivos da pagina pode ser melhor o uso do gzip por se tratar de uma compressao. Fica a pergunta, pra voce qual o melhor?

    • Lucas Peperaio

      Felipe, não entendi a relação do Gzip com o Flush(). Se você usa o gzip com o módulo mod_gzip, você precisa usar o ob_gzhandler antes dos headers serem enviados, mas se você usa o mod_deflate, não é necessário nem mesmo usar o ob. Talvez você tenha se confundido nisso.

      • Felipe

        Nao tenho experiencia com php, posso ter me confundido, mas minhas paginas deixaram de estarem comprimidas qndo coloquei o flush() e li alguns artigos dizendo q nao funciona ou dando solucoes q nao consegui implementar. A solucao foi tirar o flush(), uma pena eu nao poder testar agora o q voce disse.

        • Lucas Peperaio

          Felipe, vou fazer uns testes e pesquisar sobre isso. Valeu

  4. Emerson

    É verdade eu usei na minha loja virtual e aumentou consideravelmente a velocidade. essa de fato é uma ótima dica, parabéns.

  5. João Leitão VIAGENS

    Olá! boa dica realmente inseri esse código e faz diferença na chamada do site. aumentou a rapidez do site sem dúvida! abraço desde o Rio de Janeiro. obrigado

  6. Bruno

    Ótima dica.

  7. Cornélio José Wiedemann

    acho top essas functions em php uso muito o flush e notei uma aceleração em certas aplicações minhas

    Att, Tio Nélio Do Rincão ( TI & DBA )

  8. Cornélio José Wiedemann

    Alguem aqui curte o lucas??? euuuuu \\\\\0000/////

    nois meu gatão

    Att, Tio Nélio do Rincão ( TI & DBA )