Compilacion y Optimizacion de Squid3

Publicado por firecold, Agosto 23, 2013, 01:43:54 PM

Tema anterior - Siguiente tema

firecold

Muy buenos dias a todos los amigos del foro, o los que por casualidad se pasan por aqui, en esta ocasion vengo a enseñar como compilar nuestro squid3 en cualquiera de sus versiones, esta informacion es compatible con cualquier distribución Debian/Ubuntu y derivados, pues como veo en el foro comentarios de  que squid3 tiene cierta lentitud, pues he armado este post, para ayudarlos y que todos puedan aprender, como ustedes saben el conocimiento es mejor si se comparte, bueno empezemos:

PASOS PREVIOS ANTES DE CUALQUIER OTRA COSA

He visto en el foro en muchas de las configuraciones estos parametros:
Código (cpp) [Seleccionar]
echo 65536 > proc sys fs file-max
echo "*         soft        nofile          65536" >>  etc security limits.conf
echo "*         hard        nofile          65536" >> etc security limits.conf
echo "root      soft        nofile          65536" >> etc security limits.conf
echo "root      hard        nofile          65536" >> etc security limits.conf
echo "proxy     soft        nofile          65536" >> etc securitylimits.conf
echo "proxy     hard        nofile          65536" >> etc security limits.conf
echo "ulimit -Hn 8192
ulimit -Sn 8192">>  etc profile
fs.file-max = 65536


De los cuales debo decir en muchos casos estan equivocados, vamos a ver como ejemplo mi caso yo tengo 8GB de ram y sin estas modificaciones haciendo un:
cat /proc/sys/fs/file-max  # me muestra un valor de 803668

Eso quiere decir que poseo 803668 de descriptores de archivos en mi sistema y con la configuracion solo me permite usar 65536, hagan sus cuentas hay una diferencia mas que notable, entonces recomiendo a todos mis compañeros del foro aumentar estos valores, ya que estos valores aumentan dependiendo de la ram de su sistema y otra variables.

COMPILACIÓN Y OPTIMIZACION DE SQUID3

En Debian/Ubuntu squid esta disponible tanto en su versión 2.x y 3.x, para nuestro caso usaremos la versión 3 por lo que el nombre de paquetes serán squid3, instalamos todos los paquetes requeridos para el servidor vía apt-get.

apt-get install squid3 squidclient squid-cgi

aunque ya tengamos instalado squid3 no hay problema si lo marcamos porque nos dira que ya esta en su sistema, lo importante es instalar las de mas librerias con sus dependencias, despues procedemos a descargas los paquetes de las dependencias de compilacion necesarios para squid3, tecleando esto en la terminal:

apt-get build-dep squid3

Y procedemos a crear un directorio de compilacion para descargar las fuentes de squid3, haciendolo de esta manera:

mkdir /usr/src/squid
cd /usr/src/squid
apt-get source squid3


Ya descargadas las fuentes de squid3, listas para la compilacion, procedemos a ir al directorio donde estan las fuentes y agregar o editar la configuracion de squid3 para mejorarla claro esta, de este modo:

cd squid3-3.1.20
gedit /usr/src/squid/squid3-3.1.20/debian/rules


Y les mostrara este archivo de esta manera:


teniendo que dejarlo de esta:


El parametro --with-filedescriptors=, lo colocan dependiendo los descriptores de archivos que tengan disponibles en su sistema, guardan cierran y empezamos a compilar con:

dpkg-buildpackage -b -uc

Esto tardara un buen rato dependiendo de su maquina, al terminar miremos el resultado con:



Mostrandoles 6 archivos debo advertirles que muchas veces en la compilación aparece un 7 archivo con el nombre squid3-dbg, en el caso de que apareciera eliminarlo antes de pasar a la instalación, ya que no los dejaria instalar, ya pasando a la instalacion de los .debs modificados con:

dpkg -i ../squid*.deb
En la instalacion en la parte final les saldra un error, normalmente es por los permisos de las carpetas etc squid3 o var spool squid3, las cuales ya tienen permisos asignados y dichos paquetes quieren volver a crear estas carpetas, pero ya existen, pero no es algo para alarmarse, para verificar que su compilacion fue hecha correctamente y los paquetes fueron compilados con nuevas directivas, tecleamos:

squid3 -v
Y buscamos '--enable-async-io=128', que tiene que estar en 128 y no en 8, tambien --with-filedescriptors=806668, con los descriptores de archivos que ustedes hayan puesto y no con 65536, si estos datos son correctos, todo esta hecho, solo falta la configuracion de squid para aumentar los descriptores de archivos con el parametro:

max_filedescriptors con el numero fd que ustedes crean conveniente

Reinician Squid, y esta todo terminado, espero que sea de utilidad y si alguien tiene algun parametro mas o una configuracion mas sera aceptada con gusto, dudas o cualquier interrogante no duden en disiparla en este hilo, Saludos

NOTA: "Si me llamáis maestro, ponéis una distancia entre nosotros, os hacéis vosotros ignorantes y a mi soberbio. Prefiero que me llaméis " hermano " y no me arrinconéis en vuestro corazón haciéndome insuperable a vuestra naturaleza. Maestro solo hay uno y está en los Cielos.
CITANDO LA PALABRA DE DIOS: en Mateo
23:8 Pero vosotros no queráis que os llamen Rabí; porque uno es vuestro Maestro, el Cristo, y todos vosotros sois hermanos.
23:9 Y no llaméis padre vuestro a nadie en la tierra; porque uno es vuestro Padre, el que está en los cielos.
23:10 Ni seáis llamados maestros; porque uno es vuestro Maestro, el Cristo.
23:11 El que es el mayor de vosotros, sea vuestro siervo.
23:12 Porque el que se enaltece será humillado, y el que se humilla será enaltecido.

abcwarbot

Firecold.

Debo darte un agradecimiento gigante. Andaba buscando esto hace mas de 3 semanas y no lograba compilar.

Muchas pero muchas gracias.

Una preguntita, en que me baso para modificar el asyn-io..?



Cordialmente

firecold

Cita de: abcwarbot en Agosto 23, 2013, 07:09:04 PM
Firecold.

Debo darte un agradecimiento gigante. Andaba buscando esto hace mas de 3 semanas y no lograba compilar.

Muchas pero muchas gracias.

Una preguntita, en que me baso para modificar el asyn-io..?

Cordialmente

El parametro --enable-async-io, 128 es el maximo permitido en squid3, aunque le pongas uno mas alto no va resultar, que bueno que te halla gustado y te sirva, saludos

luistec

Buena informacion firecold, pero sobre tu comentario
Cita de: firecold en Agosto 23, 2013, 01:43:54 PM
He visto en el foro en muchas de las configuraciones estos parametros:
Código (cpp) [Seleccionar]
echo 65536 > proc sys fs file-max
echo "*         soft        nofile          65536" >>  etc security limits.conf
echo "*         hard        nofile          65536" >> etc security limits.conf
echo "root      soft        nofile          65536" >> etc security limits.conf
echo "root      hard        nofile          65536" >> etc security limits.conf
echo "proxy     soft        nofile          65536" >> etc securitylimits.conf
echo "proxy     hard        nofile          65536" >> etc security limits.conf
echo "ulimit -Hn 8192
ulimit -Sn 8192">>  etc profile
fs.file-max = 65536


De los cuales debo decir en muchos casos estan equivocados, vamos a ver como ejemplo mi caso yo tengo 8GB de ram y sin estas modificaciones haciendo un:
cat /proc/sys/fs/file-max  # me muestra un valor de 803668

Eso quiere decir que poseo 803668 de descriptores de archivos en mi sistema y con la configuracion solo me permite usar 65536, hagan sus cuentas hay una diferencia mas que notable, entonces recomiendo a todos mis compañeros del foro aumentar estos valores, ya que estos valores aumentan dependiendo de la ram de su sistema y otra variables.
No es que esten equivocados esos valores, se puede decir que viene en la instalacion por defecto, para algunos talvez sea suficiente y para otros no, en el caso que no necesitaran hacer las modificaciones como tambien modificar los valores de las directivas, por algo en varias ocasiones se ha sugerido que se hagan las modificaciones de acuerdo a sus requerimientos.

Saludos.

firecold

Cita de: luistec en Agosto 23, 2013, 09:19:33 PM
Buena informacion firecold, pero sobre tu comentarioNo es que esten equivocados esos valores, se puede decir que viene en la instalacion por defecto, para algunos talvez sea suficiente y para otros no, en el caso que no necesitaran hacer las modificaciones como tambien modificar los valores de las directivas, por algo en varias ocasiones se ha sugerido que se hagan las modificaciones de acuerdo a sus requerimientos.

Saludos.

Como dije en algunos casos esta equivocado, por que en algunos casos ha de quedar justo, en otros muy corto y en otros recorto, por eso recomende cambiar los valores dependiendo de su hardware, Saludos

luistec

Cita de: firecold en Agosto 23, 2013, 09:27:07 PM
Como dije en algunos casos esta equivocado, por que en algunos casos ha de quedar justo, en otros muy corto y en otros recorto, por eso recomende cambiar los valores dependiendo de su hardware, Saludos
Una cosa es decir esta equivocado, y otra se necesita modificar o adecuar a las necesidades.

Saludos.

freedarwuin

Hice todo menos esto max_filedescriptors con el numero fd que ustedes crean conveniente

no lo entendi

firecold

Cita de: luistec en Agosto 23, 2013, 09:32:09 PM
Una cosa es decir esta equivocado, y otra se necesita modificar o adecuar a las necesidades.

Saludos.

Amigo es raro citarse a uno mismo pero lo hare para que lo aclaremos dije:
CitarDe los cuales debo decir en muchos casos estan equivocados, vamos a ver como ejemplo mi caso yo tengo 8GB de ram y sin estas modificaciones haciendo un:
cat /proc/sys/fs/file-max  # me muestra un valor de 803668

Como te puedes dar cuenta use un valor propio, y te apuesto que en la mayor parte esta equivocado, no dije todos, dije en muchos casos.

Y tambien dije:

CitarEso quiere decir que poseo 803668 de descriptores de archivos en mi sistema y con la configuracion solo me permite usar 65536, hagan sus cuentas hay una diferencia mas que notable, entonces recomiendo a todos mis compañeros del foro aumentar estos valores, ya que estos valores aumentan dependiendo de la ram de su sistema y otra variables.

Dije recomiendo a todos mis compañeros aumentar estos valores, ya que aumentan dependiendo su ram y otras variables, y reitero depende de su ram y otras variables, no digo que alguien este equivocado, si no que no se contemplo esto, ya que como tu dices viene en la instalación por defecto, recalcando el cambio de estos valores, ya que muchos ni se dan cuenta o simplemente no les prestan atencion, y esto se debe como dije al principio de este post a la lentitud que genera usar menos de lo que tenemos disponible, pudiendo usarlo todo o por lo menos la mayoria, Gracias Luistec por darte cuenta es bueno charlar sobre estas cosas, ya que anima a el cambio, Saludos

firecold

Cita de: freedarwuin en Agosto 23, 2013, 09:52:34 PM
Hice todo menos esto max_filedescriptors con el numero fd que ustedes crean conveniente

no lo entendi

todo depende de cuantos descriptores de archivos tengas disponibles, con cuantos descriptores de archivos cuentas?.

freedarwuin

descriptores ................. Help por teamviewer?

freedarwuin

Cita de: firecold en Agosto 23, 2013, 09:58:12 PM
todo depende de cuantos descriptores de archivos tengas disponibles, con cuantos descriptores de archivos cuentas?.

colcoca en tu putty asi

Hostname balancing.dyndns.org

puerto

te lo doy en privado

me puedes ayudar asi

te digo el user y pas en privado

firecold

Cita de: freedarwuin en Agosto 23, 2013, 10:09:50 PM
descriptores ................. Help por teamviewer?

Enviame tus datos por MP para acceder por TeamViewer

rjfz

Gracias firecold mi server esta caminando mucho mejor ahora xD

abcwarbot

Hola a todos,

Tengo entendido que el comando

cat /proc/sys/fs/file-nr

te dice cuanto archivos están abiertos en el momento.


Cordialmente


firecold

Cita de: abcwarbot en Agosto 24, 2013, 12:27:31 PM
Hola a todos,

Tengo entendido que el comando
cat /proc/sys/fs/file-nr

te dice cuanto archivos están abiertos en el momento.

Cordialmente

Pero lo que nos interesa saber cuanto es el maximo, para saber cuento puedes usar, con este:
cat /proc/sys/fs/file-max

Saludos

firecold

Cita de: rjfz en Agosto 24, 2013, 10:08:24 AM
Gracias firecold mi server esta caminando mucho mejor ahora xD

Me alegra saberlo, ya sabe cualquier cosa ahi estoy, saludos

dlugo99

gracias hermano firecold, Excelente trabajo, Gloria a Dios por esto, y q el mismo Dios Todopoderoso te continue bendiciendo cada dia mas!
Mikrotik, Raptor, Ubiquiti, Tplink, hosting, Paginas Webs, php...
Prestamos Soporte en cuanto a Redes se refiere a Empresas, Wisp y hogares!!!
www.mikrocache.com.ve

firecold

Cita de: dlugo99 en Agosto 24, 2013, 02:17:12 PM
gracias hermano firecold, Excelente trabajo, Gloria a Dios por esto, y q el mismo Dios Todopoderoso te continue bendiciendo cada dia mas!

De nada amigo, es un placer compartir mis conocimientos, como tambien yo he aprendido mucho de este foro y dandole gracias a Dios por conceder la sabiduria y el conocimiento, Saludos

freedarwuin

Me jodio el servidor tuve que formatiar y perdi todo el cache

firecold

Cita de: freedarwuin en Agosto 26, 2013, 10:23:38 PM
Me jodio el servidor tuve que formatiar y perdi todo el cache

porque te jodio?, pusiste atencion a una indicacion de borrar cierto archivo de squid3 y que con los descriptores de archivos habia que saber cuantos tenias antes de cualquier cosa, son cosas muy importantes para hacer este procedimiento si no puedes romper la estabilidad del sistema, saludos