Lo más importante es cuantificar la carga que va a tener que soportar nuestro sistema. Para esto es importante fijarse más en los picos de carga del sistema que en la media total, ya que los picos pueden llegar a ser varias veces la media del día. En caso de duda siempre es mucho mejor sobrestimar los requerimientos del sistema, ya que un Squid trabajando al límite de su capacidad puede repercutir negativamente en el funcionamiento de los servicios.
Cuando se trata de cachés, la velocidad es un parámetro importantísimo. En los discos duros este parámetro se mide mediante su tiempo medio de acceso en milisegundos, que debe ser lo más bajo posible. Para lograr una velocidad elevada se recomienda utilizar discos duros rápidos. Debido a que en la mayoría de los casos Squid lee o escribe pequeños bloques del disco duro, el tiempo de acceso del disco duro es más importante que su capacidad de transferencia de datos. Precisamente en este contexto muestran su valía los discos duros con una alta velocidad de rotación, ya que permiten un posicionamiento más rápido de la cabeza de lectura. Otra posibilidad para aumentar la velocidad consiste en el uso paralelo de varios discos duros o de Striping Raid Arrays.
Depende de varios factores. En un caché pequeño la probabilidad de un HIT (el objeto ya se encuentre en el caché) será pequeña, ya que el caché se llenará con facilidad y se deberá sustituir los objetos antiguos por nuevos. En cambio, en el caso de disponer de por ejemplo 1 GB de disco para cachear, y de que los usuarios sólo necesiten 10 MB al día para navegar, se tardará al menos 100 días en llenar el caché.
El método más fácil para determinar el tamaño del caché es en función del tráfico máximo que pase por el mismo. Si se dispone de una conexión de 1 Mb/s, como mucho se transferirán 125 KB por segundo. Si todo este tráfico va a parar al caché, en una hora será 450 MB, y suponiendo que este tráfico se genera durante las 8 horas de trabajo, tendremos en total 3,6 GB diarios. Como la línea no suele trabajar al máximo, la cantidad total de datos procesada por el caché es de unos 2 GB. Así pues, para guardar todos los datos navegados por la WWW en un día, necesitamos en este ejemplo 2 GB de memoria RAM para Squid.
La cantidad de memoria (RAM) requerida por Squid está relacionada directamente con la cantidad de objetos que se encuentran en el caché. Squid también almacena referencias a los objetos en el caché y objetos utilizados frecuentemente en la memoria RAM para optimizar la obtención de los mismos. La memoria RAM es muchísimo más rápida que el disco duro.
Squid también guarda muchos otros datos en la memoria, como por ejemplo una tabla con todas las direcciones IP utilizadas, un caché para los nombres de dominio totalmente cualificados, objetos “calientes” (los que más se solicitan), buffers, listas de control de acceso, etc.
Es muy importante tener memoria más que suficiente para el proceso de Squid, ya que en el caso de tener que pasar el proceso al disco duro, las prestaciones del sistema se reducirán drásticamente. Para facilitar la administración de la memoria utilizada por el caché, podemos utilizar la herramienta cachemgr.cgi tal y como veremos en la Sección 33.7, “cachemgr.cgi”.
Squid no es un programa que consuma mucha CPU. Solamente al arrancar y comprobar el contenido del caché es cuando se trabaja más intensamente con el procesador. El uso de máquinas con multiprocesador tampoco incrementa el rendimiento del sistema. Para obtener una mayor efectividad, es preferible aumentar la cantidad de memoria RAM o bien utilizar discos más rápidos antes que cambiar el procesador por otro más potente.