Clécio, duas coisas:
Segue a dica e usa diskd mesmo e aumenta os valores conforme a dica tb.
Separe em uns 5 diretorios de cache e se possível, faça a cache em um HD secundario. O squid gera bastante IO de disco.
Ex.:
/dev/hda2 = /
/dev/hdb1 = /var/spool/squid
cache_dir diskd /var/spool/squid/cache1 400 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/cache2 400 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/cache3 400 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/cache4 400 16 256 Q1=64 Q2=72
cache_dir diskd /var/spool/squid/cache5 400 16 256 Q1=64 Q2=72
Altere também esses dois valores:
memory_replacement_policy;
cache_replacement_policy.
Ambos são configurados por padrão em 'lru', altere o primeiro para 'heap LFUDA' e o segundo para 'heap GDSF'.
Após ter feito essas alterações, reinicie o squid. Mas pode ser que ele dê algum erro, então não inicie por scripts, inicie pelo executável e ative modo de debug. Os dois possíveis erros são relacionados ao 'diskd' e a política 'heap'. Caso isso aconteça, recompile o seu squid com mais essas linhas:
--enable-removal-policies="heap lru" --enable-storeio="diskd ufs" (no enable-storeio pode colocar também pra futuras alterações assim "diskd aufs coss ufs")
Creio que isso dê uma bela diferença no seu proxy.
Abraços e posta aí se deu resultado todas as dicas da galera!