Squid - Navegación lenta (solucionado)

Forums: 

Hola a todos!!!

Tengo el siguiente problema con mi servidor squid

Hemos adquirido con un nuevo ISP una conexión a inet de 4mb, Servidores linux y windows que se conectan a inet en forma directa sin pasar por el proxy llegan a puntear en speedtest 3.98Mb/s subida y 2.15Mb/s en bajada de promedio.

Equipos que se conectan a través del proxy apenas alcanzan a puntear en promedio 0.5Mb/s subida y 0.8Mb/s bajada en speedtest.

Esto antes no lo percibíamos pues el ancho de banda era de 1Mb/s y como son varios usuarios que ingresan a inet a través de proxy no lo habíamos notado, por lo menos con la diferencia que hay ahora.

Me podrían echar una mano con este problema. Gracias!

Saludos desde Paraguay! ;)

Squid.conf

:jawdrop:
# WELCOME TO SQUID 2.6.STABLE6
# ----------------------------

http_port 3128

hierarchy_stoplist cgi-bin ?

acl QUERY urlpath_regex cgi-bin \?

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

cache_mem 128 MB

cache_replacement_policy heap GDSF

memory_replacement_policy heap GDSF

cache_dir diskd /var/spool/squid 2048 16 256 Q1=72 Q2=64

access_log /var/log/squid/access.log
cache_log none
cache_store_log none

dns_nameservers 10.1.0.145

auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=dominio,dc=org,dc=py" -D "cn=Administrator,dc=dominio,dc=org,dc=py" -w "master" -f "uid=%s" -h 10.1.0.14
auth_param basic credentialsttl 1 minute
auth_param basic realm Control de Acceso a INTERNET
auth_param basic children 5

external_acl_type InetGroup %LOGIN /usr/lib/squid/squid_ldap_group -b "dc=dominio,dc=org,dc=py" -D "cn=Administrator,dc=dominio,dc=org,dc=py" -w "master" -f "(&(&(objectClass=groupofnames)(cn=%a))(member=uid=%v,ou=people,dc=dominio,dc=org,dc=py))" -h 10.1.0.14

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

half_closed_clients off

shutdown_lifetime 1 seconds

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl localnet proxy_auth REQUIRED src 10.0.0.0/255.255.128.0
acl InetAccess external InetGroup internet
acl sitios_restringidos url_regex "/etc/squid/etc/sitios_restringidos.txt"
acl localServer dstdomain ares.dominio.org.py
acl listaextensiones urlpath_regex "/etc/squid/etc/listaextensiones.txt"
cache deny QUERY

http_access allow localnet InetAccess !sitios_restringidos !listaextensiones
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all

logfile_rotate 10

buffered_logs on

always_direct allow localServer

error_directory /etc/squid/errors

coredump_dir /var/spool/squid

pipeline_prefetch on

umm aca hay algo a tener en

Imagen de falcom

umm aca hay algo a tener en cuenta por q ya me paso

acl sitios_restringidos url_regex "/etc/squid/etc/sitios_restringidos.txt"

cuando la lista de restringidos es muy muy grande y los clientes son bastantes le das bastante palo al squid x lo tanto a tu cpu y tu memoria y tu hd y baja el performance bastante.
bueno eso es solo una idea
pero veo q no manejas ni delay pools ni tienes un control de ancho de banda x ip o user... entonces como quieres controlar el ancho de banda?

En realidad la navegación es

En realidad la navegación es practicamente libre, no estamos en plan de bloquear sitios, mas bien el archivo sitios_restringidos.txt lo uso para bloquear sitios que están habilitados para acceder desde mi red a internet en forma directa, son sitios de proveedores, instituciones gubernamentales y bancos que son usados diariamente, entonces los pongo en esa lista para que el trafico no pase por el proxy. Son como 25 sitios, nada mas.

El problema principal es creo el no aprovechamiento del ancho de banda por el squid, por ejemplo fuera de horario de oficina cuando estoy solo el ancho de banda que me entrega el squid es el mismo 0.5Mb/s bajada y 0.8Mb subida, siendo que a mi parecer debería de estar por lo menos en 3Mb/s de bajada y 2.5Mb/s de subida, habiedo un solo cliente conectado a inet.

Gracias por Responder! :)

Analiza los LOG's, que dice

Imagen de damage

Analiza los LOG's, que dice el cache.log, no sera que estas sin flie descriptors, ademas una jnettop o tcptrack para que analices el tráfico, queizas estes sin descriptors por demasiadas peticiones al puerto 80.
El día de ayer un cliente estaba con un problema similar, no navegaba ni a palos, y era esto justamente, todo el problema venia desde un solo PC, estaba enviando cientos de peticiones por minuto y todas con estado SYN/ACK ACK, muchas de ellas duraban hasta 5 minutos sin tener un FIN o RST de respuesta, lo que mataba esa red.
Pilas con eso, saludos.

Exactamente que debe buscar

Imagen de xime

Exactamente que debe buscar en el log?

Se que no es mi tema pero me interesa saber, tengo un problema algo parecido en mi red, pero no entiendo bien que debe decir los logs, o que se refiere con "estas sin file descriptors"

Gracias por la respuesta :P

http://poquiblog.blogspot.com/

el default en linux de los

Imagen de falcom

el default en linux de los file descriptors es 1024 x proceso, primero revisa en tu equipo con

ulimit -aS

pero le puedes aumentar de este modo

vim /etc/security/limits.conf
y agrega las siguientes lineas:

* soft nofile 1024
* hard nofile 65535

Luego edita
vim /etc/pam.d/login
y agrega la linae:
session required /lib/security/pam_limits.so

el limite del file descriptor esta en /proc/sys/fs/file-max. aumentalo asi o con vim
echo 65535 > /proc/sys/fs/file-max

Cuando termines es buena idea cerrar tu session de root y loguearte de nuevo aunque yo lo se reiniciar mejor

Googlee algunas directivas

Googlee algunas directivas que no tenia muy claras sus funciones y encontré esto...

http://lists.debian.org/debian-user-spanish/2007/06/msg01137.html

el problema era esta directiva

always_direct allow localServer

lo probe y pues... bueno ahora si estamos teniendo buen ancho de banda!...

Lo que me pregunto es... para que lo había configurado :? , pero bueno es un recordatorio mas de que debo documentar mis cambios... :O :P

Gracias por las respuestas!!

No he probado al 100% este

Imagen de Root Bit

No he probado al 100% este comando, pero basicamente se lo usa para redirigir consultas hacia un servidor X "bypaseando" un servidor intermedio, por lo general se usa cuando se tienen configurados proxy-cache padre-hijo(cache_peer). Lo otro que segun entiendo permite hacer eeste comando pero no he probado es hacer que trafico de una red interna que desee ser visto desde clientes internos no pasen por el proxy.

Adicional a esto squid clasifica de acuerdo al tipo de ACL en "rapidas y lentas" basado en el hecho de que algunas ACL requieren informacion que no la pueden encontrar dentro del entorno de Squid sino que las buscan en fuentes externas, lo que ocasiona que una consulta quede suspendida hasta poder encontrar la informacion que requiere la ACL, lo que trae como consecuncia logica que la consulta demora en ser respondida y por ende el servicio sea lento.

Esta lo documenta el squid en la parte final de su FAQ que hace referencia a las ACL. http://wiki.squid-cache.org/SquidFaq/SquidAcl#head-27f540d6d3414d343373ef380b2edfe3095a09d5

There are only 10 types people in the world:
Those who understand binary and those who don't

Hola colega, muy bien por ti

Imagen de skypower

Hola colega, muy bien por ti al encontrar ese detalle...
always_direct allow localServer

Pues la funcion de esa linea es para asi decirlo, es exigirle al squid que todas las peticiones que sean enviadas hacia una ip o dominio, accedan sin pasar por el Proxy Parent... a continuacion te muestro una parecida pero que es muy recomendable usar tambien para que no haya falla...


always_direct allow all
never_direct deny all

o


always_direct allow localServer
never_direct deny localServer

salud2s...

ecualug
______________________
!!!AdminRed_Debian!!!

Páginas