The OpenNET Project / Index page

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

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

"Борьба с паразитным трафиком в Squid"
Сообщение от Борода Искать по авторуВ закладки on 13-Ноя-02, 11:31  (MSK)
Squid закачивает файлы в кэш по быстрому каналу (10Мбит), клиенты - модемные пользователи. Судя по логам сквид выкачивает на 20% больше, чем затем отдается клиенту.
Иными словами - клиент успевает выкачать 10Кб, в то время как squid уже закачал 300Кб, клиент разрывает связь, а мы уже выкачали 290Кб сверх нормы. Получается не экономия, а убыток. Как с бороться с таким явлением ?

Или может я ошибочно суммирую записи в логах ? Я выгребаю все записи с DIRECT, access.log лог представляю как
$time, $size1, $ip, $sys1, $size2

Если про суммировать то сумма $size1 на 20% больше $size2, я так понимаю $size1 - что выкачал squid, $size2 - что выкачал клиент от squid'а.

В конфиге:
quick_abort_min 0 KB
quick_abort_max 0 KB
range_offset_limit 0 KB
т.е. при разрыве соединения остаток не докачивается.

delay_pools не используются

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от Squid emailИскать по авторуВ закладки on 13-Ноя-02, 11:57  (MSK)
>В конфиге:
>quick_abort_min 0 KB
>quick_abort_max 0 KB
>range_offset_limit 0 KB
>т.е. при разрыве соединения остаток не докачивается.
>
>delay_pools не используются

Проблема известна и до конца пока-что не решена.
Попробую выдать пару советов:

Во-первых (самое главное): range_offset_limit -1 KB поставь.
Это зарежет выкачку "по-кускам" до тех пор пока весь обект не ляжет в кеш. Dial_up-щики очень любят тануть весь вайлу сразу 10 кусками.
(полность мною протестировано, если интересны делали работы, тоже могу рассказать.)

Во-вторых: Советую использовать delay_pool, делай пулы в сквидах уже научились нормально работать. Т. е. - если для клиента стоит ведро в 4кб/сек, то это не значит что сквид "вытягивает" на максимально-возможной скорости и потом с кеши сливает клиенту по 4Кб. Как показали эксперименты, сквид сам тянет из мира с той скорость, какая указана в пуле для конкретного клиента "заказавшего" файл. (это тестировал не я, а стажер - которому было выдано такое задание), посему гарантировать не могу на 100%.

P.S. После таких "манипуляций" с dial_up-щиками у нас уже проблем небыло.

./squid

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от Вадим Искать по авторуВ закладки on 13-Ноя-02, 12:52  (MSK)
>Проблема известна и до конца пока-что не решена.

Забыл сказать, у меня transparent заворачивание пользователей в прокси, соответсвенно активирован режим acceleration. Можно ли обойтись без этого режима при transparent перенаправлении или просто отключить лишнюю буферизацию входящего трафика к исходящему ? Или выход патчить squid, чтобы аккселератор не качал лишнего ?

>Во-первых (самое главное): range_offset_limit -1 KB поставь.
>Это зарежет выкачку "по-кускам" до тех пор пока весь обект не ляжет
>в кеш. Dial_up-щики очень любят тануть весь вайлу сразу 10 кусками.

A value of -1 causes Squid to always fetch the object from the
beginning so that it may cache the result. (2.0 style)
A value of 0 causes Squid to never fetch more than the
client requested. (default)

Я понял, так что 0 - не использовать range, а -1 - качать с начала, даже если юзер запросил range. Т.е. юзер запросил качать с середины файла, а кэш при -1 выкачает этот файл весь с самого начала. Или я что-то путаю.


>Т. е. - если для клиента стоит ведро в 4кб/сек, то
>это не значит что сквид "вытягивает" на максимально-возможной скорости и потом
>с кеши сливает клиенту по 4Кб. Как показали эксперименты, сквид сам
>тянет из мира с той скорость, какая указана в пуле для
>конкретного клиента "заказавшего" файл. (это тестировал не я, а стажер >которому было выдано такое задание), посему гарантировать не могу на 100%.

Ok. Спасибо, это то что нужно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от Squid emailИскать по авторуВ закладки on 13-Ноя-02, 13:13  (MSK)
>Я понял, так что 0 - не использовать range, а -1 -
>качать с начала, даже если юзер запросил range. Т.е. юзер запросил
>качать с середины файла, а кэш при -1 выкачает этот файл
>весь с самого начала. Или я что-то путаю.

Нет, все верно :)))
Но именно в этом и вся суть! Очень сложно представить себе ситуацию когда комуто понадобится из мегабайтного файла кусочек например с 453 килобайта по 647 килобайт :))) Юзерам нужны файлы целеком!!!

Дальше, ситуация - пользователь запускает тот-же flashget что-бы скачать mp3 и просит качать стразу 5 кусков. И что он видит? Тянется только первый отрезок, и только после полной выкачки первого фрагмента начинает тянуть второй.

В итоге, юзер свято верит что в интернете пошла повальная акция на всех серверах запрещать "докачку" и со временем даже перестает пользоватся этой "уникальной" возможностью :)

______
"проверено электроникой"

./squid

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от Вадим Искать по авторуВ закладки on 13-Ноя-02, 13:49  (MSK)
>Но именно в этом и вся суть! Очень сложно представить себе ситуацию
>когда комуто понадобится из мегабайтного файла кусочек например с 453 килобайта


Поганцы встречаются на каждом шагу, и они достаточно догадливы чтобы насолить владельщу прокси надя список .iso'шек и запросив последний килобайт каждой. И твой прокси пойдет качать гигабайты впустую.
До выхода squid 2.5, я даже специальный патч накладывал чтобы range блокировать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от Squid emailИскать по авторуВ закладки on 13-Ноя-02, 14:19  (MSK)
>Поганцы встречаются на каждом шагу, и они достаточно догадливы чтобы насолить владельщу

У нас такой проблемы нет, так-как каждый пользователь авторизирован, и хоят пользователей больше 2000, все равно "поганец" вычисляется мгновенно, и уже "административными методами" разъясняем как нельзя делать.

./squid

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Борьба с паразитным трафиком в Squid"
Сообщение от iiws emailИскать по авторуВ закладки on 13-Ноя-02, 12:05  (MSK)
>Squid закачивает файлы в кэш по быстрому каналу (10Мбит), клиенты - модемные
>пользователи. Судя по логам сквид выкачивает на 20% больше, чем затем
>отдается клиенту.
>Иными словами - клиент успевает выкачать 10Кб, в то время как squid
>уже закачал 300Кб, клиент разрывает связь, а мы уже выкачали 290Кб
>сверх нормы. Получается не экономия, а убыток. Как с бороться с
>таким явлением ?
>
>Или может я ошибочно суммирую записи в логах ? Я выгребаю все
>записи с DIRECT, access.log лог представляю как
>$time, $size1, $ip, $sys1, $size2
>
>Если про суммировать то сумма $size1 на 20% больше $size2, я так
>понимаю $size1 - что выкачал squid, $size2 - что выкачал клиент
>от squid'а.
>
>В конфиге:
>quick_abort_min 0 KB
>quick_abort_max 0 KB
>range_offset_limit 0 KB
>т.е. при разрыве соединения остаток не докачивается.
>
>delay_pools не используются

cквид качает с той скоростью с какой позволяет твой канал независимо от того  какая скорость у клиента. И тут видимо ничего не поделаешь. Попробуй delay pool включить, но что-то мне кажется сквид все-равно будет тянуть со скоростью канала, а отдавать со скоростью пула, надо бы проверить это дело.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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