URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5759
[ Назад ]

Исходное сообщение
"Squid работает, а потом начинает тормозить."

Отправлено roll , 03-Окт-08 12:05 
Squid работает, а потом начинает тормозить и перестает работать.  Помогите пожалуйста! Что поправить в конфиге? Или конфиг подозрений не вызывает? На прокси сделан редирект через iptables.

squid.conf________________

acl all src 0.0.0.0/0.0.0.0
acl root_host src 192.168.x.x
acl localhost src 127.0.0.1/255.255.255.255
acl my_local src 192.168.x.0/x
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 9443 9080 563 15100 11001 11002
acl Safe_ports port 80# http
acl Safe_ports port 21# ftp
acl Safe_ports port 443 9443 9080 563 11001 11002 # 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 bad_sites url_regex -i "/usr/local/squid/etc/bw.regex"

http_access allow root_host
http_access deny bad_sites
http_access allow my_local
http_access deny all
icp_access allow all

http_port 3128 transparent

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

maximum_object_size_in_memory 48 MB
cache_dir ufs /usr/local/squid//var/cache 40960 16 256
maximum_object_size 192 MB
access_log /usr/local/squid//var/logs/access.log squid


refresh_pattern ^ftp:144020080
refresh_pattern ^gopher:1440040
refresh_pattern .020C20
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_effective_user squid


dns_nameservers 192.168.x.X


reload_into_ims on

coredump_dir /usr/local/squid//var/cache
forwarded_for off
header_access Via deny all


Содержание

Сообщения в этом обсуждении
"Squid начинает тормозить."
Отправлено Andrey Mitrofanov , 03-Окт-08 13:35 
>Squid работает, а потом начинает тормозить и перестает работать.  Помогите пожалуйста!
>Что поправить в конфиге? Или конфиг подозрений не вызывает? На прокси
>сделан редирект через iptables.

Когда тормозит - память свободная есть? Система "свопитя"? Место в разделе с "/usr/local/squid//var/cache" есть свободное? Может, какие ошибки в логе пишет?...

>maximum_object_size_in_memory 48 MB

Не много?

>cache_dir ufs /usr/local/squid//var/cache 40960 16 256
>maximum_object_size 192 MB

Не много? Не мало?.......

А ещё можно добавить -
cache_mem 60 MB
- а то по умолчнию (в моём .../examples/default.squid - 2.6.STABLE20) -
#Default:
# cache_mem 8 MB
- точно для "_size_in_memory 48 MB" маловато.


"Squid начинает тормозить."
Отправлено roll , 06-Окт-08 17:08 
>[оверквотинг удален]
>>maximum_object_size 192 MB
>
>Не много? Не мало?.......
>
>А ещё можно добавить -
>cache_mem 60 MB
>- а то по умолчнию (в моём .../examples/default.squid - 2.6.STABLE20) -
>#Default:
># cache_mem 8 MB
>- точно для "_size_in_memory 48 MB" маловато.

Я поправил эти значения. По-моему логичнее вышло:

maximum_object_size_in_memory 512 KB
cache_dir ufs /usr/local/squid//var/cache 40960 16 256
maximum_object_size 8092 KB

Места на разделе под кеш - до фига и больше(занят на 7%). Система не свопится. Памяти свободной много (177 мб).

В cache.log начиная с момента торможения:
_______
2008/10/06 16:19:26| httpReadReply: Excess data from "GET http://count1.altastat.com/?001.gif&r=http://yandex.ru/yands...
Ќ008/10/06 16:22:11| parseHttpRequest: Unsupported method 'K?™џҐУ68ЈTбЪUWГd#іџЌI‰#±КK?ШЭ)їEя№NTpТдъч­ЬоDВ~–\i'џ
'
2008/10/06 16:22:11| clientReadRequest: FD 41 (192.168.2.x:4996) Invalid Request
ІInк·|zфББ4Wз—t+o±7| parseHttpRequest: Unsupported method 'FЊЋ;±b
'
2008/10/06 16:23:37| clientReadRequest: FD 21 (192.168.2.x:1170) Invalid Request
2008/10/06 16:25:04| parseHttpRequest: Unsupported method 'ЇІ±И¶ЅРл4КЌї…-j'їїЃ©f 
'
2008/10/06 16:25:04| clientReadRequest: FD 22 (192.168.2.x:1254) Invalid Request
4ЁЯѕйёQRX/ 16:25:04| parseHttpRequest: Unsupported method 'o#_†#сcІCЃГ¦зКТУ
          в&…кЃьРкюKWф±s-ФRэ‘п]

'
2008/10/06 16:25:04| clientReadRequest: FD 25 (192.168.2.x:1255) Invalid Request
2008/10/06 16:33:02| parseHttpRequest: Unsupported method 'Є«о;“4­­xI
'
2008/10/06 16:33:02| clientReadRequest: FD 33 (192.168.2.x:3780) Invalid Request
2008/10/06 16:39:17| parseHttpRequest: Unsupported method '›№І„дS…<ўҐ­Ўу)u^мЈљє}ћЪ@ЦТ©»T &Ь
'
2008/10/06 16:39:17| clientReadRequest: FD 35 (192.168.2.x:8000) Invalid Request
2008/10/06 16:49:32| parseHttpRequest: Unsupported method '^·е&\и—bЌгЈs“уА42рЦІ"Н¬е
'
2008/10/06 16:49:32| clientReadRequest: FD 20 (192.168.2.x:8053) Invalid Request
______________

В access.log много записей TCP_MISS 200. Пол дня все работало нормально. Потом некоторые сайты перестали загнружаться


"Squid начинает тормозить."
Отправлено reader , 07-Окт-08 00:54 
>[оверквотинг удален]
>>
>>А ещё можно добавить -
>>cache_mem 60 MB
>>- а то по умолчнию (в моём .../examples/default.squid - 2.6.STABLE20) -
>>#Default:
>># cache_mem 8 MB
>>- точно для "_size_in_memory 48 MB" маловато.
>
>Я поправил эти значения. По-моему логичнее вышло:
>

cache_mem увеличили? при 40 гигах, 8 МВ маловато
>maximum_object_size_in_memory 512 KB
>cache_dir ufs /usr/local/squid//var/cache 40960 16 256

два слеша подрят это и в конфиге так?
>maximum_object_size 8092 KB

это под BSD? попробуйте на разделе с cache_dir отключить soft update

>[оверквотинг удален]
>2008/10/06 16:39:17| parseHttpRequest: Unsupported method '›№І„дS…<ўҐ­Ўу)u^мЈљє}ћЪ@ЦТ©»T &Ь
>'
>2008/10/06 16:39:17| clientReadRequest: FD 35 (192.168.2.x:8000) Invalid Request
>2008/10/06 16:49:32| parseHttpRequest: Unsupported method '^·е&\и—bЌгЈs“уА42рЦІ"Н¬е
>'
>2008/10/06 16:49:32| clientReadRequest: FD 20 (192.168.2.x:8053) Invalid Request
>______________
>
>В access.log много записей TCP_MISS 200. Пол дня все работало нормально. Потом
>некоторые сайты перестали загнружаться


"начинает тормозить."
Отправлено Andrey Mitrofanov , 07-Окт-08 10:01 
>>>А ещё можно добавить -
>>>cache_mem 60 MB
>>># cache_mem 8 MB
>>Я поправил эти значения. По-моему логичнее вышло:
>cache_mem увеличили? при 40 гигах, 8 МВ маловато
>это под BSD? попробуйте на разделе с cache_dir отключить soft update

Если cache_mem-таки не написал, то вероятность FreeBSD резко возрастает. %-/

---
>> # Система не свопится. Памяти свободной много (177 мб).

cache_mem 150 MB


"начинает тормозить."
Отправлено reader , 07-Окт-08 10:25 
>>>>А ещё можно добавить -
>>>>cache_mem 60 MB
>>>># cache_mem 8 MB
>>>Я поправил эти значения. По-моему логичнее вышло:
>>cache_mem увеличили? при 40 гигах, 8 МВ маловато
>>это под BSD? попробуйте на разделе с cache_dir отключить soft update
>
>Если cache_mem-таки не написал, то вероятность FreeBSD резко возрастает. %-/

судя по началу топика там не BSD, ну что ж - ошибся. cache_mem-таки тут не причем, а вот пути к файлам интересные, ставилось похоже из исходников
>
>---
>>> # Система не свопится. Памяти свободной много (177 мб).
>
>cache_mem 150 MB


"начинает тормозить."
Отправлено Andrey Mitrofanov , 07-Окт-08 18:12 
>судя по началу топика там не BSD, ну что ж - ошибся.
>cache_mem-таки тут не причем,

не-не-не, я там не про сквид, а про :-> пользователя - http://www.opennet.me/openforum/vsluhforumID9/7334.html#11


"начинает тормозить."
Отправлено roll , 08-Окт-08 14:26 
>>судя по началу топика там не BSD, ну что ж - ошибся.
>>cache_mem-таки тут не причем,
>
>не-не-не, я там не про сквид, а про :-> пользователя - http://www.opennet.me/openforum/vsluhforumID9/7334.html#11

Я поправил значение cache_mem - теперь не прокси падает.

Еще такой вопрос - нужно ли перенаправлять udp трафик на squid?

iptables -t nat -A PREROUTING -s 192.168.x.0/24 -d ! 192.168.x.x -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.x.0/24 -d ! 192.168.x.x -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128

Большое Спасибо за ответы!


"начинает тормозить."
Отправлено Andrey Mitrofanov , 08-Окт-08 16:06 
>Я поправил значение cache_mem - теперь не прокси падает.

не прокси, а %) что?

Кстати, перезапускал свой сквид, получилось ~150Мб памяти без сквида (если я ничего не пропустил :-D ) с "cache_mem 60 MB" в конфигурации. Если у тебя 170Мб было свободно при запущенном сквиде (с cache_mem "по дефолту" - 8Мб), то =150 в памяти поместится, видимо. Если при незапущенном сквиде, то скорее (как у меня) cache_mem надо давать 50-70Мб. То есть задача ~такая: весь сквид поместился в памяти и не (~не сильно/не заметно) "вываливается" в своп (в предположении, что другие сервисы "получили, что хотели" и сквид - одна из основных задач машины).

>
>Еще такой вопрос - нужно ли перенаправлять udp трафик на squid?

Не-а. Site("google.ru").SearchFor(""squid udp site:opennet.ru""))

Сквид - _http_ прокси. http - сам по себе "tcp протокол". Никакого udp... Для клиентов.

http://www.opennet.me/openforum/vsluhforumID12/5399.html
http://www.opennet.me/openforum/vsluhforumID12/2284.html
http://www.opennet.me/openforum/vsluhforumID12/5710.html#2 Ж-))

>Большое Спасибо за ответы!

:-D Пожалуйста.


"начинает тормозить."
Отправлено roll , 13-Окт-08 13:22 
Полная фигня... Опять начинает тормозить. Сайты yandex и google не работают. На опеннет пока заходит..  Не свопится. Свободно памяти осталось 50 мег. В логи не ругается. Помогите плиз (((

acl all src 0.0.0.0/0.0.0.0
acl root_host src 192.168.2.128
acl localhost src 127.0.0.1/255.255.255.255
acl my src 192.168.2.0/24
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 9443 9080 563 15100 11001 11002
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443 9443 9080 563 11001 11002 # 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

#Add or remove sites by REGEX in this file //Eugen
acl bad_sites url_regex -i "/usr/local/squid/etc/bw.regex"

#http_access allow _sams_4739576e6d6ff  
#http_access allow _sams_478369a714687  
#http_access allow _sams_478b6e3215192  


#http_access deny !Safe_ports
#http_access deny CONNECT !SSL_ports

#allow all to root/deny bad dst/allow my src/deny all
http_access allow root_host
http_access deny bad_sites
http_access allow my
http_access deny all


icp_access allow all
my subnet
http_port 3128 transparent

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache allow all


cache_mem 120 MB
maximum_object_size_in_memory 2048 KB
minimum_object_size 1 KB
ftp_user squid@company.ru
request_header_max_size 40 KB
ipcache_size 8192
quick_abort_min 0 KB
quick_abort_max 0 KB
negative_ttl 1 minutes
read_timeout 5 minutes
request_timeout 60 seconds
shutdown_lifetime 3 seconds
request_header_max_size 40 KB
refresh_pattern . 1 20% 4320
maximum_object_size 8092 KB
access_log /usr/local/squid/var/logs/access.log squid


refresh_pattern ^ftp:        1440    20%    10080
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern .        0    20%    4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_effective_user squid


dns_nameservers 192.168.1.1

reload_into_ims on

#refresh_pattern \.bz2$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.exe$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.gif$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.gz$           43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.ico$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.jpg$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.mid$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.mp3$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.pdf$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.swf$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.tar$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.tgz$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.zip$          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache

#refresh_pattern http://ad\.       &n... 100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://ads\.       &... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://adv\.       &... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://click\.       ... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://count\.       ... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://counter\.      &nb... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://engine\.      &nbs... 100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://img\.readme\.ru    &nbs... 43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern http://userpic\.livejournal\.com   43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.ru/bf-analyze                    43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern \.ru/bf-si                         43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern /advs/                             43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern /banners/                          43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache
#refresh_pattern /cgi-bin/iframe/                   43200   100%    43200 override-lastmod override-expire ignore-reload ignore-no-cache

#refresh_pattern ^ftp:         &n... 1440    20%     10080
#refresh_pattern ^gopher:        1440    0%      1440
#refresh_pattern .               0       80%     14400


#coredump_dir /usr/local/squid//var/cache
coredump_dir /usr/local/squid/var/cache

forwarded_for off
header_access Via deny all

visible_hostname squid

>[оверквотинг удален]
>Сквид - _http_ прокси. http - сам по себе "tcp протокол". Никакого
>udp... Для клиентов.
>
>http://www.opennet.me/openforum/vsluhforumID12/5399.html
>http://www.opennet.me/openforum/vsluhforumID12/2284.html
>http://www.opennet.me/openforum/vsluhforumID12/5710.html#2 Ж-))
>
>>Большое Спасибо за ответы!
>
>:-D Пожалуйста.


"начинает тормозить. - в дополнение"
Отправлено roll , 13-Окт-08 13:40 
Интересно то, что если сквид перезапустить, то он снова работает нормально.

./rc.squid :

#!/bin/sh
# Start/stop/restart/reload the Squid Internet Object Cache (squid)
# To make Squid start automatically at boot, make this
# file executable:  chmod 755 /etc/rc.d/rc.Squid
#
# Written for Slackware Linux by Erik Jan Tromp
# Modified by David Somero <xgizzmo@slackbuilds.org>

SQUIDCFG=/usr/local/squid/etc/squid.conf
SQUIDCMD=/usr/local/squid/sbin/squid

if [ ! -r $SQUIDCFG ]; then
  echo "Please set the correct path to $SQUIDCFG"
  exit 1
fi

if [ ! -x $SQUIDCMD ]; then
  echo "$SQUIDCMD not found"
  exit 1
fi

squid_start() {
  # Create cache directory hierarchy if needed
  ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
  [ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid

  for CACHE_DIR in $ALL_DIRS ; do
    if [ ! -d $CACHE_DIR/00 ] ; then
      echo "Creating swap directories:  $SQUIDCMD -z"
      $SQUIDCMD -z 2> /dev/null
      break
    fi
  done

  echo "Starting Squid:  $SQUIDCMD -DF"
  $SQUIDCMD -DF
}

squid_stop() {
  COUNTDOWN=$(awk '/^shutdown_lifetime/ {print $2}' $SQUIDCFG)
  [ -z "$COUNTDOWN" ] && COUNTDOWN=30

  echo -n "Shutting down Squid in $COUNTDOWN seconds:  "
  $SQUIDCMD -k shutdown 2> /dev/null
  while $SQUIDCMD -k check 2> /dev/null ; do
    sleep 1
    echo -n .
    COUNTDOWN=$[ $COUNTDOWN - 1 ]
    if [ $COUNTDOWN -le 0 ] ; then
      $SQUIDCMD -k interrupt 2> /dev/null
      sleep 1
      break
    fi
  done
  echo
}

squid_restart() {
  squid_stop
  sleep 1
  squid_start
}

squid_reload() {
  $SQUIDCMD -k reconfigure 2> /dev/null
}

case "$1" in
'start')
  squid_start
  ;;
'stop')
  squid_stop
  ;;
'restart')
  squid_restart
  ;;
'reload')
  squid_reload
  ;;
*)
  echo "usage: $0 start|stop|restart|reload"
esac


"Squid работает, а потом начинает тормозить."
Отправлено nowice , 06-Ноя-08 15:29 
>[оверквотинг удален]
>
>
>dns_nameservers 192.168.x.X
>
>
>reload_into_ims on
>
>coredump_dir /usr/local/squid//var/cache
>forwarded_for off
>header_access Via deny all

Такая-же фигня происходит... немогу понять в чем проблема... ping везде ходит а инет тормозит. :(  Причем инет на проксе никуда не девается, все работает, а вот после нее дохнет. Начинает снова работать только после перезапуска SQUID


"Squid работает, а потом начинает тормозить."
Отправлено zom , 07-Ноя-08 18:07 
>[оверквотинг удален]
>>reload_into_ims on
>>
>>coredump_dir /usr/local/squid//var/cache
>>forwarded_for off
>>header_access Via deny all
>
>Такая-же фигня происходит... немогу понять в чем проблема... ping везде ходит а
>инет тормозит. :(  Причем инет на проксе никуда не девается,
>все работает, а вот после нее дохнет. Начинает снова работать только
>после перезапуска SQUID

Я тут попробовал в скрипт /etc/rc.d/rc.squid добавить строку

squid_start() {
  # Create cache directory hierarchy if needed
  ALL_DIRS=$(awk '/^cache_dir/ {print $3}' $SQUIDCFG)
  [ -z "$ALL_DIRS" ] && ALL_DIRS=/var/cache/squid

  for CACHE_DIR in $ALL_DIRS ; do
    if [ ! -d $CACHE_DIR/00 ] ; then
      echo "Creating swap directories:  $SQUIDCMD -z"
      ulimit -u unlimited   <-----------------------------------------------------
      $SQUIDCMD -z 2> /dev/null
      break
    fi
  done

  echo "Starting Squid:  $SQUIDCMD -DF"
  $SQUIDCMD -DF
}

Пока сквид не падает. (5 дней уже как).
Вывод - были ограничения со стороны системы.