2012/05/30

Twitter Melhora o Desempenho com Regresso aos Servidores


Quem se dedica a programação para a web certamente saberá as "dores de cabeça" que acompanham a criação de um site que funcione de forma adequada e que não faça os utilizadores desesperarem com longos tempos de espera. Uma situação que se torna exponencialmente mais complicada quando se tratam de serviços com milhões de utilizadores, como o Google, Facebook, ou Twitter.

Na contínua busca pelo máximo desempenho, o Twitter tomou agora uma decisão curiosa, passando a depender mais dos seus servidores em vez de - como até aqui - empurrar esse processamento para o browser dos utilizadores.

Não é segredo que muitas das páginas web destes serviços são na realidade autênticas "web apps" que estão a ser executadas nos browsers, e que permitem o grau de interactividade e dinamismo a que estamos habituados. No entanto, isso faz com que inicialmente seja necessário transferir grandes blocos de código que depois têm que ser interpretados e executados pelo browser.

No caso do Twitter, o atraso que isto representava até que o primeiro tweet fosse visível na página era demasiado, e por isso optaram por outra solução: para além de optimizarem a forma como os seus blocos javascript são enviados para o browser do cliente; a primeira página que é apresentada ao utilizador é processada do lado do servidor.

Desta forma, essa primeira apresentação é feita de forma muito mais rápida (5x mais rápida segundo o twitter), dando tempo para que posteriormente o processo volte a ficar a cargo dos pedidos feitos via javascript.

No fundo trata-se de optimizar ao máximo um site onde "cada segundo" conta, não sendo caso isolado: também o Google utiliza vários sistemas para resolver este mesmo problema (por exemplo, ao abrirem o Gmail, e este demorar demasiado tempo, surgirá uma mensagem a perguntar se querem optar por uma versão do Gmail mais simplificada - e em tempos chegou a haver também uma funcionalidade que apresentava uma versão "de texto" básica da vossa inbox enquanto o site era carregado, algo bem semelhante ao que o Twitter agora implementou.)

Sem comentários:

Enviar um comentário (problemas a comentar?)