29.2. Requisitos do sistema

O fator mais importante é determinar o máximo de carga de rede que o sistema deve suportar. Portanto, é importante prestar mais atenção aos picos de carga, porque podem ser superiores a quatro vezes a média do dia. Quando em dúvida, seria melhor superestimar os requisitos do sistema, porque com o Squid trabalhando no limite das suas capacidades pode haver uma perda grave de qualidade do serviço. As seções a seguir assinalam os fatores do sistema em ordem de importância.

29.2.1. Discos rígidos

A velocidade exerce uma importante função no processo de cache, de maneira que este fator merece uma atenção especial. Para discos rígidos, este parâmetro é descrito como tempo de busca aleatório, medido em milissegundos. Como os blocos de dados que o Squid lê no disco rígido ou grava dele tendem a ser pequenos, o tempo de busca do disco rígido é mais importante que seus throughput de dados. Para fins de um proxy, os discos rígidos com velocidades de alta rotação são provavelmente a melhor opção, porque permitem que a cabeça de leitura-gravação seja posicionada no ponto desejado mais rapidamente. Uma possibilidade para acelerar o sistema é usar vários discos simultaneamente ou empregar matrizes de RAID de distribuição.

29.2.2. Tamanho do cache do disco

Em um cache pequeno, a possibilidade de um HIT (encontrar o objeto solicitado já localizado ali) é pequena, porque o cache é facilmente arquivado e os objetos menos solicitados são substituídos por outros mais novos. Se, por exemplo, um GB estiver disponível para o cache e os usuários só navegarem 10 MB por dia, levaria mais de 100 dias para preencher o cache.

A maneira mais fácil de determinar o tamanho de cache necessário é considerar a taxa máxima de transferência da conexão. Com uma conexão de 1 Mbit/s, a taxa máxima de transferência é de 125 KB/s. Se todo este tráfego terminar no cache, em uma hora teria adicionado 450 MB e, considerando-se que todo esse tráfego seja gerado em apenas oito horas de trabalho, alcançaria 3,6 GB em um dia. Como a conexão normalmente não é usada até o seu limite superior de volume, pode-se presumir que o volume de dados total tratado pelo cache seja aproximadamente de 2 GB. Por esta razão é necessário um espaço em disco de 2 GB no exemplo, para que o Squid guarde os dados interessantes pesquisados no cache.

29.2.3. RAM

A quantidade de memória (RAM) de que o Squid necessita é diretamente relacionada ao número de objetos no cache. O Squid também armazena referências de objeto e objetos solicitados freqüentemente na memória principal do cache para acelerar a recuperação destes dados. A memória de acesso aleatório é muito mais rápida do que um disco rígido.

Além disso, há outros dados que o Squid necessita manter na memória, como uma tabela com todos os endereços IP tratados, um cache de nome de domínio exato, os objetos solicitados com mais freqüência, listas de controle de acesso, buffers e mais.

É muito importante ter memória suficiente para o processo Squid, porque o desempenho do sistema é muito reduzido se tiver que se trocado para o disco. A ferramenta cachemgr.cgi pode ser usada para gerenciamento da memória de cache. Esta ferramenta é apresentada na Seção 29.6, “cachemgr.cgi”. Sites com grande tráfego de rede devem considerar o uso de um sistema AMD64 ou Intel EM64T com memória superior a 4 GB.

29.2.4. CPU

O Squid não é um programa que necessite de uso intenso de CPU. A carga do processador só é aumentada enquanto os conteúdos do cache são armazenados ou verificados. O uso de uma máquina multiprocessadora não aumenta o desempenho do sistema. Para aumentar a eficiência, é melhor comprar discos mais rápidos ou adicionar mais memória.