Um dos aspectos mais importantes do desempenho de um site é a quantidade de largura de banda alocada para seu uso. A largura de banda determina a rapidez com que o servidor da Web pode fazer upload das informações solicitadas. Embora existam outros fatores a serem considerados em relação ao desempenho de um site, a largura de banda é frequentemente o fator limitante.
Definição de largura de banda
A largura de banda é definida em termos de número de bits por segundo. Um bit é a menor quantidade de informação do computador, zero ou um, e oito deles formam um único byte. Historicamente, as conexões de rede são medidas em bits, enquanto os dispositivos do usuário final, como memória de computador e discos rígidos, são medidos em bytes. Um megabit tem pouco mais de um milhão de bits (mais precisamente, 1.048.576 bits), enquanto um gigabit tem mais de um bilhão de bits (precisamente 1.073.741.824 bits). Portanto, uma conexão de 100 megabits por segundo pode enviar mais de 104 milhões de bits por segundo, o que é mais útil como 13 MB por segundo.
Cálculo dos requisitos de largura de banda
A maioria dos servidores da Web envia páginas estáticas e imagens mediante solicitação aos navegadores da Web, o que significa que nenhuma modificação é necessária nesses arquivos antes de serem carregados pela Internet. Nesses casos, os requisitos de largura de banda são bastante diretos. Some o número total de bytes usados pelos recursos que compõem uma página específica em seu site: uma página HTML é um certo número de kilobytes de HTML, JavaScript e arquivos incluídos, enquanto as imagens que a página solicita serão provavelmente um número maior de kilobytes. Por exemplo, uma página inicial pode ter 25 KB de HTML, Cascading Style Sheets e JavaScript, o que faz solicitações de 250 KB de imagens. Portanto, ao solicitar esta página pela primeira vez, você precisaria de 275 KB de dados, ou 2.200 kilobits. Com uma conexão de Internet de 100 megabits, você usaria pouco mais de um quarto de um megabit por um segundo, o que equivale a cerca de 300 usuários simultâneos sendo capazes de acessar o site sem desacelerar. Alguma quantidade de largura de banda sempre é perdida para os requisitos de rede gerais, portanto, arredondar essas estimativas (neste caso, de 364 para 300) é uma boa ideia. Sites que esperam mais de 300 usuários simultâneos, portanto, precisam de mais largura de banda da Internet ou usam arquivos menores em suas páginas iniciais.
Gargalo de CPU
Um site também pode ficar lento pela necessidade de servir arquivos dinâmicos. Este é o caso sempre que uma página da Web é gerada com base em código de programação; por exemplo, as páginas de um site WordPress não são HTML estático, mas são geradas mediante solicitação por programação PHP no modelo WordPress. Um site dinâmico com os mesmos parâmetros do exemplo de página estática seria capaz de lidar com apenas 300 usuários simultâneos se os requisitos de CPU para gerar cada página fossem cerca de um terço de 1 por cento da CPU. Por outro lado, se 1 por cento da CPU é usado para gerar uma página, então o número máximo de usuários simultâneos será mais próximo de 100 do que 300, embora sua largura de banda disponível possa lidar com mais usuários.
Redes de cache e distribuição de conteúdo
O afunilamento da largura de banda pode ser melhorado usando redes de distribuição de conteúdo, ou CDNs, que armazenam cópias dos dados do seu servidor Web, geralmente em vários pontos da Internet. Por exemplo, um CDN pode estar localizado em Tóquio e Londres, duplicando - ou armazenando em cache - informações de seu servidor Web para usuários na Ásia e na Europa, respectivamente. O CDN está fisicamente mais próximo do usuário, agilizando a entrega e reduzindo o número de acessos em seu servidor Web principal. Da mesma forma, o armazenamento em cache no servidor Web local ou CDNs também pode reduzir muito os requisitos de CPU, mas ao custo de enviar páginas ligeiramente desatualizadas para navegadores da Web.