Назад | Перейти на главную страницу

мост tproxy squid очень медленный, когда кеш заполнен

Я установил прокси-сервер моста tproxy на быстрый сервер с оперативной памятью 8 ГБ. Трафик около 60 Мбит / с.

Когда я впервые запускаю прокси (с пустым кешем), прокси работает очень хорошо, но когда кеш заполняется (через несколько часов), мост работает очень медленно, трафик падает ниже 10 Мбит / с, и прокси-сервер становится непригодным для использования.

Есть намёки на то, что может происходить?

Я использую:

скомпилирован с этими параметрами:

./configure --prefix = / usr --mandir = / usr / share / man --infodir = / usr / share / info --datadir = / usr / share --localstatedir = / var / lib --sysconfdir = / и т. д. / squid --libexecdir = / usr / libexec / squid --localstatedir = / var --datadir = / usr / share / squid --enable-deletion-policies = lru, heap --enable-icmp --disable-identity -lookups --enable-cache-digests --enable-delay -pool --enable-arp-acl --with-pthreads --with-large-files --enable-htcp --enable-carp --enable-follow -x-forwarded-for --enable-snmp --enable-ssl --enable-async-io = 32 --enable-linux-netfilter --enable-epoll --disable-poll --with-maxfd = 16384 - -enable-err-languages ​​= испанский --enable-default-err-language = испанский

Мой squid.conf:

cache_mem 100 MB
memory_pools off

acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl localhost src ::1/128
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl to_localhost dst ::1/128

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network acl
localnet src 172.16.0.0/12  # RFC1918 possible internal network acl
localnet src 192.168.0.0/16 # RFC1918 possible internal network acl
localnet src fc00::/7   # RFC 4193 local private network range acl
localnet src fe80::/10  # RFC 4291 link-local (directly plugged) machines

acl net-g1 src xxx.xxx.xxx.xxx/24

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

http_access allow manager localhost
http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow net-g1

#from where browsing should be allowed
http_access allow localnet
http_access allow localhost

http_access deny all

http_port 3128
http_port 3129 tproxy

hierarchy_stoplist cgi-bin ?

cache_dir ufs /var/spool/squid 8000 16 256

access_log none

cache_log /var/log/squid/cache.log

coredump_dir /var/spool/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .

У меня эта проблема возникает, когда кеш заполнен, но я не знаю, из-за этого ли это.

Заранее спасибо и извините за мой английский.

Вы достигли лимитов conntrack? cat / proc / sys / net / nf_conntrack_max vs. cat / proc / sys / net / netfilter / nf_conntrack_count - можно безопасно увеличивать максимум, прокси-серверы часто страдают от больших таблиц conntrack, потому что старые устаревшие соединения довольно долго остаются. Эти проблемы могут проявляться как «становится медленнее со временем», поскольку проблемы возникают только тогда, когда таблица заполняется, и если она заполняется лишь относительно немного быстрее, чем опорожняется, это может занять несколько часов.

Роберто, каков размер этой FS?

Я вижу, что вы используете 8000.

cache_dir ufs /var/spool/squid 8000 16 256

В документации указано, что вам необходимо вычесть 20% от общего пространства, доступного для кеша. Wiki указывает, что 10% оставить для бухгалтерских структур ОС.

Так или иначе, оставлять свободное место безопасно!