Discussion:
Problema con Squid- Alto porcentaje de uso de procesador
Lucas Nogueron
2010-07-17 16:43:30 UTC
Permalink
Hola lista:

He tenido problemas con un Squid desde que le cambiè unas
configuraciones, antes de eso andaba perfecto. Basicamente el problema
surgió cuando le dije que escuchara en dos LANs(LAN +WLAN): De
repente empezó a comerse el cpu y llenar toda la cache asignada al
squid ( que estaba vacia) sin motivo aparente, puesto que no habia
clientes conectados en la red en ese momento. Con "top" puede detectar
procesos "squid" y "perl" que se turnaban usando gran porcentaje de la
cpu(90%-98%). Luego leí el log "tail -fn100 /var/squid/log/cache.log"
y mostraba :

2010/07/12 00:01:01| Store rebuilding is 16.0% complete
2010/07/12 00:01:16| Store rebuilding is 17.3% complete
2010/07/12 00:01:31| Store rebuilding is 18.5% complete

Y así continuamente. Aqui [1] y tienen el mismo problema, o sea, por
mas que reinstalen el paquete, reinicien la maquina, reinicien el
servicio o cambien la configuracion de squid el problema se sigue
repitiendo.

Sin embargo le encontrè solucion sin reinstalar SO, que fue borrar los
directorios de la cache.

rm -r /var/squid/cache/*

La pregunta es ¿que pudo haber pasado para que sucediera eso? Que hizo
q se llenara la cache sin motivo aparente y sin clientes conectados?.



[1]http://forum.pfsense.org/index.php?topic=22919.msg118869
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Hernan G. Diaz
2010-07-17 16:59:05 UTC
Permalink
Post by Lucas Nogueron
He tenido problemas con un Squid desde que le cambiè unas
configuraciones, antes de eso andaba perfecto. Basicamente el problema
surgió cuando le dije que escuchara en dos LANs(LAN +WLAN): De
repente empezó a comerse el cpu y llenar toda la cache asignada al
squid ( que estaba vacia) sin motivo aparente, puesto que no habia
clientes conectados en la red en ese momento. Con "top" puede detectar
procesos "squid" y "perl" que se turnaban usando gran porcentaje de la
cpu(90%-98%). Luego leí el log "tail -fn100 /var/squid/log/cache.log"
2010/07/12 00:01:01| Store rebuilding is 16.0% complete
2010/07/12 00:01:16| Store rebuilding is 17.3% complete
2010/07/12 00:01:31| Store rebuilding is 18.5% complete
Y así continuamente. Aqui [1] y tienen el mismo problema, o sea, por
mas que reinstalen el paquete, reinicien la maquina, reinicien el
servicio o cambien la configuracion de squid el problema se sigue
repitiendo.
Sin embargo le encontrè solucion sin reinstalar SO, que fue borrar los
directorios de la cache.
rm -r /var/squid/cache/*
La pregunta es ¿que pudo haber pasado para que sucediera eso? Que hizo
q se llenara la cache sin motivo aparente y sin clientes conectados?.
La unica manera que se guarden archivos en cache, es usando el proxy y
"cacheando", no será que al habilitar el squid en tu placa wlan comenzó
a tener conexiones que vos desconocias?
Usas acls para squid? dale una mirada a /var/log/squid/access.log y
fijate si no tenes usuarios invitados por alli...
--
Hernán
***@hgdi.com.ar
Lucas Nogueron
2010-07-17 17:11:47 UTC
Permalink
Post by Hernan G. Diaz
 He tenido problemas con un Squid desde que le cambiè unas
configuraciones, antes de eso andaba perfecto. Basicamente el problema
surgió cuando le dije  que escuchara en dos LANs(LAN +WLAN): De
repente empezó a comerse el cpu y llenar toda la cache asignada al
squid ( que estaba vacia)  sin motivo aparente, puesto que no habia
clientes conectados en la red en ese momento. Con "top" puede detectar
procesos "squid" y "perl" que se turnaban usando gran porcentaje de la
cpu(90%-98%). Luego leí el log "tail -fn100 /var/squid/log/cache.log"
2010/07/12 00:01:01| Store rebuilding is 16.0% complete
2010/07/12 00:01:16| Store rebuilding is 17.3% complete
2010/07/12 00:01:31| Store rebuilding is 18.5% complete
Y así continuamente. Aqui [1] y tienen el mismo problema, o sea, por
mas que reinstalen el paquete, reinicien la maquina, reinicien el
servicio o cambien la configuracion de squid el problema se sigue
repitiendo.
Sin embargo le encontrè solucion sin reinstalar SO, que fue borrar los
directorios  de la cache.
rm -r /var/squid/cache/*
La pregunta es ¿que pudo haber pasado para que sucediera eso? Que hizo
q se llenara la cache sin motivo aparente y sin clientes conectados?.
La unica manera que se guarden archivos en cache, es usando el proxy y
"cacheando", no será que al habilitar el squid en tu placa wlan comenzó
a tener conexiones que vos desconocias?
Usas acls para squid? dale una mirada a /var/log/squid/access.log y
fijate si no tenes usuarios invitados por alli...
100% seguro el access.log no registra ip´s en WLAN. Aparte WLAN estaba
funcionando perfectamente, la idea era que el proxy actuara en la WLAN
tambien, puesto que antes no actuaba en la misma por eso hice esa
modificacion. El firewall pfsene tiene historiales graficos de uso de
cpu y magicamente , apartir de esa modificacion , se va al 100%. Es de
locos.

Paso el squid.conf

/usr/local/etc/squid/squid.conf
# Do not edit manually !
http_port 192.168.1.1:3128
http_port 192.168.2.1:3128
http_port 127.0.0.1:80 transparent
icp_port 0

pid_filename /var/run/squid.pid
cache_effective_user proxy
cache_effective_group proxy
error_directory /usr/local/etc/squid/errors/English
icon_directory /usr/local/etc/squid/icons
visible_hostname localhost
cache_mgr ***@localhost
access_log /var/squid/log/access.log
cache_log /var/squid/log/cache.log
cache_store_log none
logfile_rotate 2
shutdown_lifetime 3 seconds
# Allow local network(s) on interface(s)
acl localnet src 192.168.1.0/255.255.255.0 192.168.2.0/255.255.255.0
uri_whitespace strip
dns_nameservers 127.0.0.1
cache_mem 128 MB
maximum_object_size_in_memory 32 KB
memory_replacement_policy heap GDSF
cache_replacement_policy heap LFUDA
cache_dir aufs /var/squid/cache 3000 16 256
minimum_object_size 0 KB
maximum_object_size 4 KB
offline_mode off
cache_swap_low 90
cache_swap_high 95

# No redirector configured



# Setup some default acls
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 8888
3128 1025-65535
acl sslports port 443 563 8888
acl manager proto cache_object
acl purge method PURGE
acl connect method CONNECT
acl dynamic urlpath_regex cgi-bin \?
cache deny dynamic
http_access allow manager localhost

http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !safeports
http_access deny CONNECT !sslports

# Always allow localhost connections
http_access allow localhost

request_body_max_size 0 KB
reply_body_max_size 0 allow all
delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_initial_bucket_level 100
delay_access 1 allow all

# Allow local network(s) on interface(s)
http_access allow localnet
# Custom options
redirect_program /usr/local/bin/squidGuard -c
/usr/local/etc/squidGuard/squidGuard.conf
redirector_bypass on
redirect_children 3
# Default block all to be sure
http_access deny all

Saludos
Post by Hernan G. Diaz
--
Hernán
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Alfredo Daniel Rezinovsky
2010-07-18 15:12:05 UTC
Permalink
Post by Lucas Nogueron
He tenido problemas con un Squid desde que le cambiè unas
configuraciones, antes de eso andaba perfecto. Basicamente el problema
surgió cuando le dije que escuchara en dos LANs(LAN +WLAN): De
repente empezó a comerse el cpu y llenar toda la cache asignada al
squid ( que estaba vacia) sin motivo aparente, puesto que no habia
clientes conectados en la red en ese momento. Con "top" puede detectar
procesos "squid" y "perl" que se turnaban usando gran porcentaje de la
cpu(90%-98%). Luego leí el log "tail -fn100 /var/squid/log/cache.log"
2010/07/12 00:01:01| Store rebuilding is 16.0% complete
2010/07/12 00:01:16| Store rebuilding is 17.3% complete
2010/07/12 00:01:31| Store rebuilding is 18.5% complete
Y así continuamente. Aqui [1] y tienen el mismo problema, o sea, por
mas que reinstalen el paquete, reinicien la maquina, reinicien el
servicio o cambien la configuracion de squid el problema se sigue
repitiendo.
Sin embargo le encontrè solucion sin reinstalar SO, que fue borrar los
directorios de la cache.
rm -r /var/squid/cache/*
La pregunta es ¿que pudo haber pasado para que sucediera eso? Que hizo
q se llenara la cache sin motivo aparente y sin clientes conectados?.
[1]http://forum.pfsense.org/index.php?topic=22919.msg118869
Si se solucionó borrando el cache el problema lo tenés probablemente con
el acceso al cache, con un cache muy grande el cpu de manejo de cache y
el io de cache se dispara.
Una de las soluciones es poner el cache con aufs en lugar de ufs. Con
esto no mejoras el acceso al cache pero si separas las tareas de proxy y
cache en hilos distintos para que una no frene a la otra.

No entiendo por que aufs no es la configuración por default.

--
Alfrenovsky
Lucas Nogueron
2010-07-18 21:28:47 UTC
Permalink
El día 18 de julio de 2010 12:12, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Si se solucionó borrando el cache el problema lo tenés probablemente con
el acceso al cache, con un cache muy grande el cpu de manejo de cache y
el io de cache se dispara.
Una de las soluciones es poner el cache con aufs en lugar de ufs. Con
esto no mejoras el acceso al cache pero si separas las tareas de proxy y
cache en hilos distintos para que una no frene a la otra.
No entiendo por que aufs no es la configuración por default.
Es que siempre tuvo aufs por defecto, 3GB de cache no me parece mucho.
Evidentemente como decis vos "con un cache muy grande el cpu de manejo
de cache y el io de cache se dispara". Muy probablemente pasó eso.

cache_dir aufs /var/squid/cache 3000 16 256

Lo que hice para solucionar el problema fue:

1-Parar el demonio squid
2-Borrar cache manualmente
3-Editar el squid.conf para que escuchar en la WLAN+LAN
4-Iniciar el demonio squid.

Otra cosa. Si borro access.log y cache.log (archivos de
/var/squid/log) manualmente puede haber algun problema?. Calculo que
se crearan de nuevo como la cache. He notado que han crecido bastante

Saludos
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Alejandro Vargas
2010-07-19 06:51:14 UTC
Permalink
Post by Lucas Nogueron
Otra cosa. Si borro access.log y cache.log (archivos de
/var/squid/log) manualmente puede haber algun problema?. Calculo que
se crearan de nuevo como la cache. He notado que han crecido bastante
Por las dudas ese tipo de archivos en lugar de borrarlos te conviene
ponerlos a 0 con > archivo porque si el archivo estaba habierto cuando
lo borraste, no se vuelve a crear sino que todos los procesos que lo
tenían abierto siguen accediendo a él como si no se hubiera borrado y
sólo desaparece de verdad cuando lo cierran.
Alfredo Daniel Rezinovsky
2010-07-19 15:22:02 UTC
Permalink
Post by Lucas Nogueron
El día 18 de julio de 2010 12:12, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Si se solucionó borrando el cache el problema lo tenés probablemente con
el acceso al cache, con un cache muy grande el cpu de manejo de cache y
el io de cache se dispara.
Una de las soluciones es poner el cache con aufs en lugar de ufs. Con
esto no mejoras el acceso al cache pero si separas las tareas de proxy y
cache en hilos distintos para que una no frene a la otra.
No entiendo por que aufs no es la configuración por default.
Es que siempre tuvo aufs por defecto, 3GB de cache no me parece mucho.
Evidentemente como decis vos "con un cache muy grande el cpu de manejo
de cache y el io de cache se dispara". Muy probablemente pasó eso.
cache_dir aufs /var/squid/cache 3000 16 256
1-Parar el demonio squid
2-Borrar cache manualmente
3-Editar el squid.conf para que escuchar en la WLAN+LAN
4-Iniciar el demonio squid.
Otra cosa. Si borro access.log y cache.log (archivos de
/var/squid/log) manualmente puede haber algun problema?. Calculo que
se crearan de nuevo como la cache. He notado que han crecido bastante
Saludos
si el cache.log no lo usas, toca el conf para que no lo cree.
Lucas Nogueron
2010-07-19 17:16:44 UTC
Permalink
El día 19 de julio de 2010 12:22, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Post by Lucas Nogueron
El día 18 de julio de 2010 12:12, Alfredo Daniel Rezinovsky
Post by Alfredo Daniel Rezinovsky
Si se solucionó borrando el cache el problema lo tenés probablemente con
el acceso al cache, con un cache muy grande el cpu de manejo de cache y
el io de cache se dispara.
Una de las soluciones es poner el cache con aufs en lugar de ufs. Con
esto no mejoras el acceso al cache pero si separas las tareas de proxy y
cache en hilos distintos para que una no frene a la otra.
No entiendo por que aufs no es la configuración por default.
Es que siempre tuvo aufs por defecto, 3GB de cache no me parece mucho.
Evidentemente como decis vos "con un cache muy grande el cpu de manejo
de cache y el io de cache se dispara". Muy probablemente pasó eso.
cache_dir aufs /var/squid/cache 3000 16 256
1-Parar el demonio squid
2-Borrar  cache manualmente
3-Editar el squid.conf para que escuchar en la WLAN+LAN
4-Iniciar el demonio squid.
Otra cosa. Si borro access.log y cache.log (archivos de
/var/squid/log) manualmente puede haber algun problema?. Calculo que
se crearan de nuevo como la cache. He notado que han crecido bastante
Saludos
si el cache.log no lo usas, toca el conf para que no lo cree.
Si estuve viendo eso en algunos foros. De todas maneras segun la
pagina de squid el cache.log es donde pone las cosas quiere que vos te
enteres. Por lo pronto desduzco que el problema fue un cache corrupto.
El sistema lleva 3 dias funcionando sin problemas. Saludos
--
Hay 10 tipos de personas, las que saben binario y las que no.

Luxas
Loading...