Parámetros de Optimización Básicos para Squid

Antes de aplicar estos parámetros asegurare de que tu squid esta funcionando sin problemas, para hacerlo sigue los procedimientos descritos en HOWTO Instalar Squid para Windows.

Todos estos parámetros a reserva de que se mencione lo contrario se modifican en el archivo squid.conf de tu instalación de squid.

cache_mem

Este parámetro sirve para definir la cantidad de memoria RAM que se le asignara a squid, por defecto es 8, puedes incrementarlo, pero asegurare de que no sea mas de 8MB por cada 64 de memoria ram en tu sistema, esto es una apreciación personal, es decir, es mi opinión y no viene en ningún manual (que yo sepa).

Ejemplo: tienes un sistema con 256MB en ram, le asignas 32MB.

cache_mem 32 MB

Mas información aqui.

cache_dir

Este parámetro sirve para definir tanto la ubicación de la cache de navegación como su tamaño, por default viene comentado y apunta a c:/squid/var/cache, pero si deseas aumentarlo necesitas modificarlo.

cache_dir tipo ruta espacio dir1 dir2

ruta: dirección dentro de nuestro disco duro donde alojaremos la cache. (típicamente es: c:/squid/var/cache)

espacio: espacio en mega bytes que se destinara para la cache, según el espacio que quieras asignar y el disponible en el disco duro puedes poner desde 10MB hasta 10GB o mas, para este ejemplo asignaremos 1GB.

dir1: indica los directorios de primer nivel en los que se dividirá la cache.

dir2: indica los directorios de segundo nivel en los que se dividirá la organización de la cache.

tipo: El algoritmo que squid usara para leer, escribir y borrar la cache, puedes elegir entre ufs, aufs, diskd, coss y null

Ufs el es algoritmo que squid usa por default para escribir y leer la cache, también es el mas lento y antiguo, todo el proceso de lectura, escritura, recepción de peticiones, envío de objetos, etc. se hace con un solo demonio. Cuando tienes muchos accesos simultáneos se pueden producir cuellos de botella considerables, para mejor esto existen otras opciones.

AUFS es en esencia mismo que ufs, la diferencia es que lanza múltiples demonios para la lectura, escritura, borrado, etc. Como contra consume una gran cantidad de procesador y memoria cuando se ve ante una carga de trabajo alta.

DISKD también basado en ufs y aufs, la diferencia en este caso es que solo levanta un demonio extra, seria como ufs multiplicado por dos.

COSS Utiliza un sistema de ficheros especial y optimizado para squid, toda la información se guarda en un solo fichero y se escriben en bloques de datos. Teóricamente es el mejor ya que ofrece un mayor rendimiento que las otras opciones, desgraciadamente no es del todo estable por lo cual no es recomendable usarlo, aparte al usarlo en squid para Windows, estamos limitados al tamaño máximo que pueda tener un archivo en este sistema.

NULL No guarda ninguna cache en el disco duro.

Ejemplo: Aumentamos la cache a 1GB usando ufs.

cache_dir ufs c:/squid/var/cache 1000 16 256

Nota: no se que tan eficiente sea una cache muy grande.

Mas información aqui. y Aqui…

dns_nameservers

Este parámetro sirve para asignar los dns manualmente, en algunos casos hay problemas con la resolución de los dominios y el asignar los dns arregla el problema.

Ejemplo:

dns_nameservers 208.67.222.222 208.67.220.220

Nota: Los números de DNS que puse son los de opendns, puedes usarlos en tu instalación propia.

Mas información aqui.

refresh_pattern

Es para establecer el tiempo de refresco entre determinados elementos, es decir, el tiempo que estarán estos elementos en cache antes de comprobar que haya nuevos.

refresh_pattern [-i] regex min porcentaje max [options]

Donde: regex:  Expresión regular puede ser para tipos de archivos \.mp3 \.avi o protocolos ^ftp:  ^gopher: general .

min: tiempo en minutos que estará un objeto antes de refrescarse

porcentaje: porcentaje de la edad de los objetos sin tiempo de caducidad que se consideraran para refrescarse.

max: tiempo máximo en minutos sin una explicita duración asignada.

Ejemplo: evitando que los mp3 se descarguen mas de una ves en dos meses.

refresh_pattern \.mp3 43200 90% 43200

Ejemplo 2: evitando que el contenido general se descargue mas de una vez al día.

refresh_pattern . 1440 90% 1440

Nota: Para la ] visita esta pagina:

Mas información aqui (incluida la información completa sobre el parámetro options)

reference_age

Establece el tiempo máximo que estará el contenido en la cache sin ser requerido, esto nos ayuda a no tener demasiado contenido en la cache al eliminar lo que no es usado.

Ejemplo: Asignando dos días de duración en la cache.

reference_age 2 days

cache_peer

Sirve para asignar servidores Proxy intermediarios (padres) y hermanos (paralelos).

cache_peer servidor tipo http_port icp_port opciones

servidor: dirección ip del servidor Proxy o en su defecto nombre de dominio del mismo.

tipo: parent (padre) cuando pasamos por el para salir a Internet o sibling (hermano) o en paralelo.

http_port: puerto http, típico 3128 y 8080.

icp_port: puerto icp.

Ejemplo: Asignaremos que nuestro Proxy sale a Internet mediante otro Proxy.

cache_peer 192.168.1.1 parent 8080 3130 Proxy-only

Mas info aqui.

maximum_object_size

Sirve para asignar el tamaño máximo de los archivos a guardar en la cache, el default es 4MB, es decir, mientras no asignemos este parámetro squid no guardara ningún objeto mayor a 4MB cosa relativamente común en la actualidad, el tamaño debe definirse en kilobytes.

Ejemplo: asignar que guarde objetos de hasta 200MB.

maximum_object_size 204800 KB

Mas info aquí.

error_directory

Este comando sirve para definir el directorio de los mensajes de error para squid, para nuestra fortuna, la versión de squid para Windows ya incluye los mensajes traducidos al español.

Ejemplo: Asignamos los mensajes de error en español.

error_directory c:/squid/share/errors/Espanish

Mas info aquí.

Si creen que me falta algún comando por explicar, pueden dejarlo en los comentarios para ir añadiendo lo que falte.


Bibliografia

http://www.squid-cache.org/Versions/v2/2.7/cfgman/index_all.html

http://www.opentecnologic.com/wiki/doku.php?id=servidores:squid:squid_basico

http://alojamiento-paginas-web.org/mantenimiento-basico/instalacion-de-squid.html

http://www.alcancelibre.org/staticpages/index.php/19-0-como-squid-general