Шейпинг в Squid (некорректно работает)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Denikin
Сообщения: 119

Шейпинг в Squid

Сообщение Denikin »

Есть centos и squid-2.6.STABLE21-3.el5
В suid.conf есть такие строки:

Код: Выделить всё

acl myacl src 192.168.128.0/24
delay_pools 1
delay_class 1 1
delay_parameters 1 100000/1000000
delay_access 1 allow myacl

Проблема в том? что какое бы значение ограничения скорости не стояло (что 100кбит/сек, что 20кбит/сек), она все равно плавно понижается до нуля (ну то есть до нуля она конечно не успевает, если файл не очень большой)
Вопрос:
что за фигня? :)
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Шейпинг в Squid

Сообщение skor »

А что в результате то хотите получитЬ?
У вас ограничение стоит на 100к а пиковое на 1кк.
Спасибо сказали:
Denikin
Сообщения: 119

Re: Шейпинг в Squid

Сообщение Denikin »

skor писал(а):
24.12.2009 15:34
А что в результате то хотите получитЬ?
У вас ограничение стоит на 100к а пиковое на 1кк.

Ну вообще то я считал, что данное правило означает, что если юзер скачивает файл размером больше чем 1000000 байт, то его скорость ограничивается 100000 байт/сек
или я не прав?
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Шейпинг в Squid

Сообщение skor »

В общем наверно правы.

Код: Выделить всё

    A pair of delay parameters is written restore/maximum, where restore is
    the number of bytes (not bits - modem and network speeds are usually
    quoted in bits) per second placed into the bucket, and maximum is the
    maximum number of bytes which can be in the bucket at any time.

    For example, if delay pool number 1 is a class 2 delay pool as in the
    above example, and is being used to strictly limit each host to 64kbps
    (plus overheads), with no overall limit, the line is:

delay_parameters 1 -1/-1 8000/8000

xxx/yyy
xxx - это средняя скорость (шейп)
yyy - это максимальный размер буфера, в который будут поступать данные со скростью xxx.
Наглядный пример - yyy это ведро (объемом 10литров), xxx это струя воды втекающая в ведро (1 литр в секунду).
Если из ведра ничего не брали, то ведро полное.
Это ведро можно сразу взять и вылить (мы вылили 10 литров за одну секунду).
Если продолжать выливать воду то после этого мы будем получать только 1 литр в секунду.
Выливать перестали - ведро начинает наполняться (за 10 секунд оно наполнилось) и можно опять вылить все ведро сразу.
То что в это ведро вливаются разные жидкости (html страница, графика, видео и тд) нам не важно. Все считается одним ведром и одной струей воды.
Естественно в ведро не вливается заранее какой-либо трафик. Туда вливается "кредит" на то что мы можем получить сразу, без ограничения.

Тоесть клиент получает вначале "всплеск" в скорости, после чего скорсть опускается до заданного ограничения.
Это хорошо для веб-серфинга, когда человек открывает странцу (сразу получает html и часть графики) он текст получает сразу, и начинает читать.
Пока дочитывает - докачивается графика и "ведро" начинает опять наполняться.
Открывая следующую страницу - он ее также получает сразу.

По поводу падения скорости до 0. Как долго ждали? Она падает до 0 и больше потом не подымается?
Спасибо сказали:
Denikin
Сообщения: 119

Re: Шейпинг в Squid

Сообщение Denikin »

Падает где то до 5-6кбайт/сек
Один раз держал заявленный лимит, при этом я ничего не менял в конфиге,, короче полная хрень, ничего не понимаю. Попробовал туже конфигу на опенсузе 11 поднять, так там шейпинг вообще не работает ( (сквид 3.0 ) .
Вот конфиг и центоса , может кто подскажет, что еще попробовать можно

Код: Выделить всё

#Recommended minimum configuration:
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     # Only allow cachemgr access from localhost
    # multiling http
acl CONNECT method CONNECT
#### modified by Den 11122009 ###
acl myacl src 192.168.128.0/24

http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

# And finally deny all other access to this proxy
http_access allow localhost

#### modified by Den 11122009 ###
http_access allow myacl

http_access deny all

#Allow ICP queries from everyone
icp_access allow all

#We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

http_port 8080

### modified by Den 14122009
access_log /var/log/squid/access.log

### modified by Den 14122009 ###
emulate_httpd_log        off

#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY

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

# Apache mod_gzip and mod_deflate known to be broken so don't trust
# Apache to signal ETag correctly on such responses
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

### modified by Den 25122009 ###
delay_pools 1
delay_class 1 1
delay_parameters 1 31250/1048576
delay_access 1 allow myacl

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Шейпинг в Squid

Сообщение skor »

Поставьте 100000/100000 и посмотрите.
На чем проверяете?
Может проблема "с той стороны"?
Спасибо сказали:
leksstav
Сообщения: 331

Re: Шейпинг в Squid

Сообщение leksstav »

Denikin писал(а):
24.12.2009 15:19
Есть centos и squid-2.6.STABLE21-3.el5
В suid.conf есть такие строки:

Код: Выделить всё

acl myacl src 192.168.128.0/24
delay_pools 1
delay_class 1 1
delay_parameters 1 100000/1000000
delay_access 1 allow myacl

Проблема в том? что какое бы значение ограничения скорости не стояло (что 100кбит/сек, что 20кбит/сек), она все равно плавно понижается до нуля (ну то есть до нуля она конечно не успевает, если файл не очень большой)
Вопрос:
что за фигня? :)



Установите себе SAMS, и настраивайте себе все без гемороя.
Спасибо сказали: