optimizar el servidor proxy

Optimizar el servidor Proxy

Optimizar el servidor Proxy

Hasta ahora todo muy bien, nuestro servidor Proxy responde perfecto a una red menor a 50 usuarios. Sin embargo, la red de datos se nos puede crecer, los servicios aumentar y el servidor podría flaquear. De manera que para soportar el crecimiento de equipos y servicios se debe optimizar el servidor Proxy. Básicamente se trata de aumentar el valor de un parámetro llamado File Descriptor.

 

Un File Descriptor no es más que un número que representa un archivo o un socket. Cada vez que un proceso abre un archivo o un socket, se asigna un nuevo File Descriptor. En general, un File Descriptor puede ser un una conexión TCP, un archivo abierto o sockets de comunicaciones entre procesos. Por ejemplo, una conexión con un cliente requiere tres Files Descriptors: uno para la conexión, otro para la escritura de logs y otro para la lectura de configuración.

 

Puede ampliar más sobre File Descriptor, aquí

 

Optimización técnica del servidor Proxy

Para aumentar el número de File Descriptors en el sistema operativo, debemos realizar los siguientes pasos:

 

A. Verificar como usuario normal la configuración del número de Files Descriptors

_$ ulimit -a | grep “open files”

Generalmente da como salida 1024

 

B. Agregar las siguientes líneas en /etc/security/limits.conf

* soft nofile 8192
* hard nofile 8192

 

C. Luego se agrega la siguiente linea en el archivo /etc/pam.d/common-session

session required pam_limits.so

 

D. Aplicar el cambio:

_$ sysctl -p

 

Una vez aplicados los pasos anteriores debemos cerrar sesión, volver a entrar y verificar de otra vez el nuevo límite:

_$ ulimit -a | grep “open files”

 

E. El comando anterior debe mostrar el número 8192. Luego, se debe agregar la siguiente directiva en el archivo de configuración de Squid:

max_filedesc 8192

 

Normalmente el número de File Descriptors por default en el sistema operativo es de 1024, y con ese número el Squid trabaja bien con 40 clientes (relación de 25). De manera que optimizar el servidor Proxy para que soporte más de 300 clientes, es aumentar el número de File Descriptors a un valor mayor de 7500. De ahí que se haya configurado un tope de 8192.

 

Opciones adicionales para optimizar el servidor Proxy

Continuando con los ajustes para optimizar el servidor Proxy, podemos adicionar las siguientes líneas al /etc/sysctl.conf del sistema operativo:

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_syn_backlog = 2048

 

Aplicamos:

_# sysctl -p

 

Agregamos las siguienest líneas al squid.conf:

maximum_object_size 512 KB
maximum_object_size_in_memory 256 KB

 

Si el servidor cuenta con una cantidad generosa de memoria RAM, digamos, 20 GB, podemos configurar

maximum_object_size_in_memory en 64 MB

 

Limpieza de la caché y rotación de logs para Squid Proxy

Una actividad periódica que suele exigir esta solución, es su mantenimiento, es decir, limpieza de logs y reconstrucción de la caché. Entonces, podemos emplear un par de scripts sencillos para esas dos labores.

Llamaremos al de la reconstrucción de la caché “cache_squid.sh” y al encargado de la rotación de logs “rotalog_squis.sh“. Ambos con permiso de ejecución

El primer archivo contiene la siguiente secuencia de comandos:

#!/bin/bash
#
#
#
#
echo "Rotando logs"
/opt/squid/sbin/squid -k rotate
sleep 1
echo "Parando Squid"
/opt/squid/sbin/squid -k shutdown
/opt/squid/sbin/squid -k shutdown
sleep 1
/opt/squid/sbin/squid -k shutdown
/opt/squid/sbin/squid -k shutdown
sleep 1
echo "Borrando cache de Squid"
rm -rf /opt/squid/var/cache/squid/*
echo "cache borrada"
sleep 1
echo "Iniciando la cache de Squid"
/opt/squid/sbin/squid -f /etc/squid/squid.conf -z
#/opt/squid/sbin/squid &
sleep 1
echo "Reiniciando la cache de Squid"
/opt/squid/sbin/squid -f /etc/squid/squid.conf -z
sleep 1
/opt/squid/sbin/squid &
echo "Squid iniciado"
exit 0

 

El segundo armelo con esta secuencia de comandos:

#!/bin/bash
#
#
#
#
echo "Rotando logs de Squid"
/opt/squid/sbin/squid -k rotate
sleep 1
echo "Logs rotados"
sleep 1

exit 0

 

Puede colocarlos en el directorio /root/ y programarlos con crontab para que se ejecuten todos los domingos a las 4 y 4:30 PM

00 16 * * 7 root /root/cache_squid.sh
30 16 * * 7 root /root/rotalog_squid.sh

 

Y eso es todo.

 

< Quinta Parte

 

 

Comparte esto en
Publicado en Servidor Proxy.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *