The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Временные перебои в работе Squid."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [ Отслеживать ]

"Временные перебои в работе Squid."  
Сообщение от ACrow (ok) on 19-Фев-08, 10:34 
Доброе время суток!

Проблема моя на FreeBSD 6.3 + Squid 2.6.18

Если через Squid ходить по чуть чуть - проблем никаких, но при интенсивном использовании (попытаться открыть 6-7-8 страниц одновременно) наблюдается сильное торможение в их открытии (минут 5-7), потом опять некоторое время нормально.

Проблема не в канале (во время торможения открытия страниц на клиенте, сервер тянет файл  wget-ом на приличной скорости).  

Подскажите пожалуйста, в какую сторону копать, как по экспериментировать и т.д.

Конфиг такой:


acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl webserver src 10.0.1.254/255.255.255.255
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


icp_access allow all

http_port 10.0.0.254:3128

acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY


cache_mem 350 MB

maximum_object_size_in_memory 5000 KB
maximum_object_size 5000 KB

memory_replacement_policy heap GDSF # ну тут уже от безисходности тыкал разные варианты
cache_replacement_policy heap GDSF

cache_dir diskd /usr/local/squid/cache 2048 16 256  


cache_swap_low 90
cache_swap_high 95


access_log /usr/local/squid/logs/access.log squid
cache_store_log none

buffered_logs on

store_avg_object_size 50 KB

acl apache rep_header Server ^Apache
acl lan src 10.0.1.0/255.255.255.0
acl multimedia urlpath_regex -i \.mp3$ \.mpeg$ \.avi$ \.mov$
acl hi_speed src "/usr/home/me/hi_sp"

http_access allow lan
http_access deny CONNECT !SSL_ports
http_access deny !Safe_ports
http_access allow manager localhost
http_access allow manager webserver
http_access deny manager
http_access deny all

broken_vary_encoding allow apache

cache_effective_user squid
cache_effective_group squid


delay_pools 3

delay_access 1 allow hi_speed
delay_access 1 deny all
delay_access 2 allow multimedia
delay_access 2 deny all
delay_access 3 allow lan
delay_access 3 deny all

delay_class 1 1
delay_class 2 2
delay_class 3 1

delay_parameters 1 -1/-1
delay_parameters 2 10000/10000 -1/-1
delay_parameters 3 65000/65000

icp_port 0
htcp_port 0

fqdncache_size 4096

coredump_dir /usr/local/squid/cache

refresh_pattern ^ftp:        1440&nbs...
refresh_pattern ^gopher:    1440    0%    1440
refresh_pattern .        0    20%    4320  


Заранее спасибо.

ps. Пробовал и через 1 и через 3 делей-пулы ходить, все тоже самое (проверяю через какой пул проходит соединения используя sqstat)
pps. Народный метод "все снести - поставить заново" не прошел.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Временные перебои в работе Squid."  
Сообщение от Andrey Mitrofanov on 19-Фев-08, 12:28 
>Если через Squid ходить по чуть чуть - проблем никаких, но при
>интенсивном использовании (попытаться открыть 6-7-8 страниц одновременно) наблюдается сильное торможение в
>их открытии (минут 5-7), потом опять некоторое время нормально.

В cache.log чего-нибудь при этом пишет?

>cache_mem 350 MB

Может быть _меньше_ поставить, если оно в своп "залезает"?
Во время "тормозов" своп растёт?

>delay_parameters 1 -1/-1

Может быть не давать совсем всё, оставить другим чуть-чуть.

>delay_parameters 2 10000/10000 -1/-1
>delay_parameters 3 65000/65000

Может быть "поиграться", увеличивая /maximum ~~ 10000/20000, например.

>ps. Пробовал и через 1 и через 3 делей-пулы ходить, все тоже
>самое (проверяю через какой пул проходит соединения используя sqstat)
>pps. Народный метод "все снести - поставить заново" не прошел.

Значит, не пулы, похоже. Память/своп, установление соединения "не полазит"
-- кто-то (сам?) уже занял весь канал, ...

Если совсем ничего не "нашлось", включать подробные логи и снова искать.

Уменьшать количество ;) пользователей, увеличивать ширину канала...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Временные перебои в работе Squid."  
Сообщение от ACrow (ok) on 19-Фев-08, 13:32 

>В cache.log чего-нибудь при этом пишет?

ошибок нет.. обычные записи старта Squid-а

>>cache_mem 350 MB
>
>Может быть _меньше_ поставить, если оно в своп "залезает"?

Так завысил в надежде что именно тут "узкое" место, при нормализации работы буду и тут поджимать.

>Во время "тормозов" своп растёт?

подскажите пожалуйста чем бы его получше понаблюдать. через кеш менеджер?

во время "тормозов" по чуть чуть растет в top память под squid, например с 55000к до 55700к..  но память там постоянно наращивается, насколько я понимаю потому что до максимума выделенного в cache_mem еще не добрался.

>>delay_parameters 1 -1/-1
>
>Может быть не давать совсем всё, оставить другим чуть-чуть.
>
>>delay_parameters 2 10000/10000 -1/-1
>>delay_parameters 3 65000/65000
>
>Может быть "поиграться", увеличивая /maximum ~~ 10000/20000, например.
>Уменьшать количество ;) пользователей, увеличивать ширину канала...

Сейчас этот сервер отведен "в сторону" и через него ходит 3-4 человека ради тестирования.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Временные перебои в работе Squid."  
Сообщение от ipmanyak (??) on 19-Фев-08, 12:44 
>cache_mem 350 MB

Не многовато ? сколько ОЗУ на машине ?
>
>maximum_object_size_in_memory 5000 KB
>maximum_object_size 5000 KB

А это маловато. Увеличь оба до 8 мег хотя бы.

>
>memory_replacement_policy heap GDSF # ну тут уже от безисходности тыкал разные варианты
>
>cache_replacement_policy heap GDSF

оставь LRU для начала

>
>cache_dir diskd /usr/local/squid/cache 2048 16 256

Эх, любим мы гигантизм. Давай считать, сколько памяти нужно сквиду в ОЗУ ?
10 мег на каждый гиг КЭШа + cache_mem + 10-20MB
20+350+20=390 мег примерно. Есть столько на машине ? Система не свопит? Чем больше кэш, тем больше индексов лопатить, тем медленее искать объекты к кэше. Если ОЗУ 1 гиг, то можно так оставить.  


>[оверквотинг удален]
>delay_access 3 allow lan
>delay_access 3 deny all
>
>delay_class 1 1
>delay_class 2 2
>delay_class 3 1
>
>delay_parameters 1 -1/-1
>delay_parameters 2 10000/10000 -1/-1
>delay_parameters 3 65000/65000

Какой толщины канал в инет вообще? Практически никаких ограничений не ввел и хочешь, чтобы у тебя все летало у всех юзеров. Если тянешь wget-ом на полной скорости, все остальные будут сосать лапу. Нужно вводить пулы классов 2 или 3 и делить ведра на сеть.
delay_parameters 1 -1/-1  - это не есть хорошо, а даже очень плохо.
Сделай для начала вот так:
delay_class 1 2
delay_class 2 2
delay_class 3 2

delay_parameters 1 20000/20000 10000/20000
delay_parameters 2 3000/3000 3000/3000
delay_parameters 3 10000/10000 5000/10000

Это я написал от балды, нужно точно знать твою скорость канала, чтобы написать точнее. Учти, что кроме HTTP в сквиде у тебя еще наверняка работает почта, ftp и другие сервисы, на которые твой delay pool никак не влияет и потому весь канал сквиду отдавать нельзя!  

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Временные перебои в работе Squid."  
Сообщение от ACrow (ok) on 19-Фев-08, 13:41 
>>cache_mem 350 MB
>
>Не многовато ? сколько ОЗУ на машине ?

1 Гиг
сейчас навсякий случай уменьшу cache_mem до 150 MB


>>maximum_object_size_in_memory 5000 KB
>>maximum_object_size 5000 KB
>
>А это маловато. Увеличь оба до 8 мег хотя бы.

сделаю и понаблюдаю

>>
>>memory_replacement_policy heap GDSF # ну тут уже от безисходности тыкал разные варианты
>>
>>cache_replacement_policy heap GDSF
>
>оставь LRU для начала

сейчас заменю


>>cache_dir diskd /usr/local/squid/cache 2048 16 256
>
>Эх, любим мы гигантизм. Давай считать, сколько памяти нужно сквиду в ОЗУ
>?
>10 мег на каждый гиг КЭШа + cache_mem + 10-20MB
>20+350+20=390 мег примерно. Есть столько на машине ? Система не свопит? Чем
>больше кэш, тем больше индексов лопатить, тем медленее искать объекты к
>кэше. Если ОЗУ 1 гиг, то можно так оставить.
>

да, 1 Гиг, но сейчас прижму cache_mem = 150,   20+150+20=190.. понаблюдаю

>[оверквотинг удален]
>
>delay_parameters 1 20000/20000 10000/20000
>delay_parameters 2 3000/3000 3000/3000
>delay_parameters 3 10000/10000 5000/10000
>
>Это я написал от балды, нужно точно знать твою скорость канала, чтобы
>написать точнее. Учти, что кроме HTTP в сквиде у тебя еще
>наверняка работает почта, ftp и другие сервисы, на которые твой delay
>pool никак не влияет и потому весь канал сквиду отдавать нельзя!
>

учту конечно в дальнейшей настройке, но пока еще только squid запущен + сервер как резервный сейчас, и через него только ради теста ходят 3-4 человека (пока не найду где проблема)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Временные перебои в работе Squid."  
Сообщение от ACrow (ok) on 20-Фев-08, 11:07 
У меня тут несколько новых подробностей...


1. Debug уровня 9 показал проблемы с открытием ссылок вроде

http://c.hit.ua/hit?i=1076&g=0&x=4&s=1&c=1&t=-120&j=1&w=1280 ....
http://c.hit.ua/hit?i=1076&g=0&x=4&s=1&c=1&t=-120&j=1&w=1280 ....  
http://c.hit.ua/hit?i=1076&g=0&x=4&s=1&c=1&t=-120&j=1&w=1280 ....  
http://banner.kiev.ua/cgi-bin/bi.cgi?h39171&6149522&1


они по несколько минут висят и не открываются, пока не отваливаются, я так понял, по таймауту.

2. Во время торможения Squid-а у 1 клиента, второй совершенно нормально ходит в интернет (потихоньку естественно, при открытии многих страниц опять зависание).


Возник вопрос:  в Squid-е есть какой то механизм очередей, с ограничением на пользователя по количеству одновременных запросов?   Может просто эти ссылки (пункт 1) забивают очередь, и только после того как отваливаются по таймауту возобновляется нормальная работа клиентов?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Временные перебои в работе Squid."  
Сообщение от ACrow (??) on 22-Фев-08, 10:56 
немного по тестировал, проблемка вроде как закрыта:

Все проблемы были именно в ссылках, которые не получалось открыть.
Ссылки на эти сайты были закрыты через ACL и проблемы пропали.
Ранее, получив 5-6-7 таких "неоткрываемых" ссылок то ли сам Squid (только для запросов конкретного клиента) то ли браузер (тестировалось на IE и Firefox) переходил в неопределенное состояние...  несколько минут пытались их открыть.. потом бросали это гиблое дело и нормальная работа восстанавливалась.

Спасибо за консультации.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру