miércoles, 30 de octubre de 2013

Pfsense 2.x: squid3 no cache nada.

Hola, les voy a platicar algo que me ha tocado vivir y a lo mejor ustedes tambien han pasado por esto.

Estoy trabajando con pfsense 2.1 con squid3, lo instale configure y todo el asunto, pero al paso del poco tiempo me di cuenta que no estaba mi cache trabajando.

Me fui a revisar el folder donde pfsense almacena esos folders creados:

/var/squid/cache

Estaban todos mis folders creados, opcion de fabrica: 16 directorios.

Permisos bien, pero no estaba almacenando nada en el cache, como se?

Bien, cuando busque la palabra HIT en mi log:

grep HIT /var/squid/logs/access.log

Solo salio 1 solo registro y ya tenia rato trabajando en el equipo, reinicie el sistema para ver esto de alguna manera squid checa su cache antes de arrancar.

El problema continuaba, entonces otros usuarios pasaban por lo mismo, lo que hice en mi caso es que si sabran squid puede uno borrar el cache y volver a crearlo esto es algo normal, pero uno esta acostumbrado a que todo funciona a la 1ra.

Desgraciadamente a veces esto no sucede, entonces lo que hice fue esto, 1ro que nada mi batch tenia que hacer lo siguiente:

#!/bin/sh

#1; Irnos a el folder donde esta el cache

cd /var/squid/cache
#2; Borrar cache:

rm -rf ./*
#3; crear cache de nuevo.

squid -z
#fin de batch.

Lo salvo con el nombre de crear-cache.sh


Poner el batch en modo de ejecucion:

chmod +x crear-cache.sh

Ahora si, ya con mi batch listo hice esto:

1; Parar el servicio por el GUI.
2; Revisar que ya no este ninguna instancia de squid en ejecucion:

ps -ax | grep squid

3; Ejecutar mi batch
sh  crear-cache.sh

4; Revisar que se hayan creado todos mis 16 directorios.

Con todo esto hecho, era cosa de iniciar el servicio atraves de la GUI.

Servicio arriba, ejecutar el ccleaner para borrar todos los caches de los navegadores ya que ellos tambien guardan de paginas visitadas.

Empece a navegar y despues de un rato usando los 3 navegadores: firefox, iexplore, chrome entrando  a las mismas paginas, esto forza a usar el cache, empece a ver los:

TCP_MEM_HIT

Ya estoy usando mi cache, iba a tardar un poco en ver el registro:

TCP_HIT

Por que recuerden que 1ro se usa la memoria y despues el disco.

LLeve a cabo otra instalacion para ver si habia un problema con la instalacion que lleva a cabo pfsense, pero en el otro equipo no hubo ningun problema. se instalo, configure el cache y empezo a funcionar sin hacer todo lo anterior, entonces puedo decir que fue algo mas especifico con la maquina.

Bien, aqui les dejo esto, saludos.

10 comentarios:

Carlos Bechara dijo...

Yo he instalado el squid3 en el pfsense y me pasa lo mismo, no consume nada de disco, por mas que haya 100 personas conectadas y navegando no el consumo de disco sigue en 0% y la memoria no aumenta de 9% ó 12%, Esas modificaciones que decis hay que hacerlas desde el modo consola ó directamente desde adentro del pfs.?. Gracias.

Pedro Moreno dijo...

Hola, esto se hace directamente en consola, has de estar pasando por lo mismo que pase, me comentas como te fue, saludos.

Carlos Bechara dijo...

Sinceramente de entrada ya no funciona, al poner cd/var/squid/cache ya me da como respuesta "not found"

Pedro Moreno dijo...

Tu instalacion es Full correcto?
Existe /var/squid?
En tu configuracion debes tener algo parecido a esto:
cache_dir aufs /var/squid/cache 8192 16 256
?????
Si existe /var/squid minimo debe estar logs?
si no esta el cache, no te preocupes tu puedes crearlo nomas coloca los permisos como los demas archivos que esta dentro del folder squid y crea el cache con los comandos que aqui puse, saludos.

Si no el folder squid esta algo grave paso, reinstala.

Carlos Bechara dijo...

Me fijo y te aviso, gracias.

Dionicio Arriaga dijo...

Buen día, ya hice lo que indicas y mi squid sigue sin hacer cache de nada.
algún consejo para solucionar eso??

Gracias

Pedro Moreno dijo...

Una disculpa, hace rato no toco este blog por razones laborales.

Bueno aclarando, de por que no cachea, cuando ejecutas de nuevo squid -z si crea los folders?

Cuando arrancas squid que dice el log cache.log?

Saludos.

Dionicio Arriaga dijo...

Buen día, si crea las carpetas, te pongo lo que dice el log cuando inicio nuevamente el squid.

Preparing for shutdown after 52 requests
Waiting 3 seconds for active connections to finish
FD 22 Closing HTTP connection
FD 23 Closing HTTP connection
Shutting down...
FD 24 Closing ICP connection
basic/auth_basic.cc(97) done: Basic authentication Shutdown.
Closing unlinkd pipe on FD 18
storeDirWriteCleanLogs: Starting...
Finished. Wrote 0 entries.
Took 0.00 seconds ( 0.00 entries/sec).
CPU Usage: 0.397 seconds = 0.017 user + 0.380 sys
Maximum Resident Size: 10740 KB
Page faults with physical i/o: 0
Open FD UNSTARTED 11 DNS Socket IPv6
Open FD READ/WRITE 12 DNS Socket IPv4
Open FD UNSTARTED 24 ICP Socket
Squid Cache (Version 3.1.22): Exiting normally.
Starting Squid Cache version 3.1.22 for i386-portbld-freebsd8.3...
Process ID 97271
With 11095 file descriptors available
Initializing IP Cache...
DNS Socket created at [::], FD 11
DNS Socket created at 0.0.0.0, FD 12
Adding nameserver 8.8.8.8 from squid.conf
User-Agent logging is disabled.
Referer logging is disabled.
Unlinkd pipe opened on FD 18
Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
Store logging disabled
Swap maxSize 786432 + 786432 KB, estimated 120989 objects
Target number of buckets: 6049
Using 8192 Store buckets
Max Mem size: 786432 KB
Max Swap size: 786432 KB
Version 1 of swap file with LFS support detected...
Rebuilding storage in /var/squid/cache (CLEAN)
Using Least Load store dir selection
Current Directory is /usr/local/www
Loaded Icons.
helperOpenServers: Starting 0/0 'ssl_crtd' processes
helperOpenServers: No 'ssl_crtd' processes needed.
Accepting HTTP connections at 192.168.xxx.xxx:3128, FD 23.
Accepting intercepted HTTP connections at 127.0.0.1:3128, FD 24.
Accepting ICP messages at [::]:7, FD 25.
HTCP Disabled.
Ready to serve requests.
Done reading /var/squid/cache swaplog (0 entries)
Finished rebuilding storage from disk.
0 Entries scanned
0 Invalid entries.
0 With invalid flags.
0 Objects loaded.
0 Objects expired.
0 Objects cancelled.
0 Duplicate URLs purged.
0 Swapfile clashes avoided.
Took 0.01 seconds ( 0.00 objects/sec).
Beginning Validation Procedure
Completed Validation Procedure
Validated 25 Entries
store_swap_size = 0
storeLateRelease: released 0 objects


Es la primera ves que hago un cache con pfsense y me parece muy bueno.

Pedro Moreno dijo...

Ese log dice que esta listo para arrancar :-), felicidades!!!

raul garcia dijo...

saludos tengo un problema instale squid en la version 2.3.1 y configurado todo bien, pero el squid al rato se detiene y solo vuelve a arracar si borro cache, o reinicio el pfsense, hay alguna solucion a este problema ya que estuve leyendo en los foros y ninguna de las soluciones me ha funcionado,
espero de su ayuda, gracias de antemano