O seu site é rápido?

  Sabe qual é o tempo de tolerância máxima que um utilizador tem à espera que um site carregue? 4 segundos. Ao fim deste espaço temporal a paciência começa a esgotar-se. Hoje cada vez mais são utilizados gestores de conteúdos e frameworks que auxiliam bastante na produção de sites mas será que são de facto eficientes?

Quanto mais nos abstrairmos do processo de produção de um site menos controlo temos sobre ele. Existem vários pormenores que influenciam o desempenho das páginas e que raramente são tidos em conta. Ter um site rápido não é luxo, é cada vez mais uma obrigação. Muitas das vezes em nome de uma interface mais espectacular usamos e abusamos dos elementos gráficos que achamos que enriquecem a experiência. Regra geral a utilização destes items de forma exagerada é prejudicial.      

 

speedmeter

   

Processo de optimização

O site que possui é estático ou efectua acessos à base de dados? Se for um site dinâmico o processo de optimização inicia-se na análise do código da camada de acesso a dados e na forma como estes são guardados. Analise das tabelas e as suas relações. Verifique que os dados estão a ser armazenados no formato correcto. Para além disso crie índices nos campos onde incidem as pesquisas. Uma vez assegurado que a estrutura de dados se encontra correctamente modelada, há que olhar para as queries que são feitas. É frequente obtermos tempos de reposta superiores a um segundo na obtenção dos dados se não formos cuidados na implementação do código SQL.

Para efectuar uma análise correcta do desempenho do acesso aos dados utilize uma ferramenta de profiling e veja quais as queries que demoram mais tempo a serem executadas. Foque-se nelas e tente perceber o que está a causar os bottlenecks. A utilização de tabelas temporárias, cursores ou incidir em campos que não estão indexados, são regra geral factores a evitar quando se efectua o acesso aos dados. Ainda nos sites dinâmicos ou nas aplicações web, para além da base de dados existe o código servidor. Este código é executado antes de a página ser devolvida para o cliente e ser apresentada no browser. Este código é também passível de optimizações e devem ser feitas tendo em conta os elementos que potencialmente mais atrasam a execução: ciclos, excepções e processamento de dados.

Os ciclos são, a par do processamento de dados ( conversões, transformações, validações ), grandes consumidores de recursos e são operações que normalmente têm um tempo de processamento elevado. Sempre que estiver na presença de um perca tempo a perceber todas as operações que são executadas. É frequente os bottlenecks das aplicações estarem nestes troços de código. O tratamento de excepções é também fundamental.

No processo de programação deve ter em conta as excepções que podem ocorrer nas instruções digitadas e efectuar o tratamento adequado. Uma das excepções mais frequentes está relacionada com o tempo de acesso às bases de dados. Se a ligação demorar demasiado tempo ou então não existir possibilidade de efectuar mais ligações, ocorre uma excepção.

Outra medida de optimização que deve ser tida em conta quando são efectuadas ligações a bases de dados ou na utilização de webservices, é a utilização de uma pool de ligações. A operação da criação do objecto que permite a comunicação é bastante pesada. O recurso a uma pool de várias instâncias destes objectos poupa o tempo da criação, resultando numa melhor eficácia. Verificados a base de dados e o código do lado do servidor, resta analisar a parte do cliente.

Existem três factores a ter em conta: CSS, Javascript e Imagens. Se tiver uma grande quantidade de ficheiros a serem descarregados, tente combiná-los num. É certo que a unificação resultará num ficheiro de maiores dimensões, porém os mecanismos de cache dos browsers permitirão que uma vez tendo este ficheiro sido carregado, ele não o será no futuro. Para além deve minimizar os ficheiros de JS e CSS. A poupança de espaço relacionada com a utilização de um menor número de caracteres vai melhorar o desempenho.

No que diz respeito às imagens, tente utilizar sprites. Uma sprite é uma imagem composta por várias imagens. A utilização das sprites é feita para as imagens de base do site ( logotipos, símbolos ). Após ter combinado todas as imagens numa, é então possível utilizá-las através do mecanismo de coordenadas contemplado nas CSS. Para além de reduzir o número de pedidos feitos ao servidor, está também a utilizar de forma mais eficaz a cache dos browsers.

Para além da junção e da minimização dos ficheiros de javascript, a inclusão dos mesmos deve ser feita sempre que possível no fim da página – idealmente antes do fim da tag body. Este mecanismo promove a eventual execução de código apenas após o fim do carregamento do html das páginas.

page speed

 

Conclusão

Os motores de busca e os utilizadores são cada vez mais exigentes. Tendo em conta a variedade existentes na internet é fundamental que nos distanciemos da concorrência. O desempenho do site é um dos factores diferenciadores mais relevantes e sobre o qual devem recair mais cuidados. Sempre que se visita uma página lenta a paciência tende a esgotar. Se na primeira visita ainda pode ser dado o benefício da dúvida, à segunda o utilizador é perdido.

Se nos preocupamos nas empresas em dar uma excelente imagem a quem tem contacto com ela, na internet essa preocupação também deve estar presente. Analise o seu site e recorra a ferramentas disponíveis na internet para análise de desempenho. O Google disponibiliza a ferramenta Page Speed, onde para além de efectuar a análise de desempenho lhe dá dicas para melhorar. Aproveite a informação disponibilizada por eles. Existem alguns items que são complicados de conseguir como é o caso dos CDN ( content delievery networks ), porém existem outros mais simples e que farão toda a diferença.

Sobre o Autor
Author Image
Densinet - Produção de conteúdo e gestão de sites web.
Website:
Pode deixar um comentário, ou responder no seu blog.

1 Comentário a “O seu site é rápido?”

  1. Directorio diz:

    Muito bom artigo, pareceu-me muito interessante.

    Obrigado

Deixe a sua opinião