Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2011.02.06;
Скачать: [xml.tar.bz2];

Вниз

ограничение скорости   Найти похожие ветки 

 
FireMan_Alexey ©   (2009-02-08 10:29) [0]

Ув. Мастера!
Есть задача ограничения скорости у моего сервера.
Я реализовал алгоритм замедления, через непосредственную задержку чтения данных из гнезда.
Сталкнулся с такой проблемой:
Изначально реализовывал задержку из расчета
(МАКС скорость)/(Кол-во соединений), но выходит, что есть соединения которые почти ничего не передают, а есть те которым необходимо передавать большое кол-во данных.
Вот вопрос есть ли алгоритм распределения скоростей или какая-нибудь идея, как это реализовать?
Буду благодарен любой подсказке, ссылке, примеру :)
Заранее спасибо!


 
Eraser ©   (2009-02-08 16:14) [1]

> [0] FireMan_Alexey ©   (08.02.09 10:29)

нужно ограничить скорость по каждому соединению. для этого не обязательно при каждой операции чтения/записи вставлять задержки. достаточно примерно раз в секунду проверять сколько данных передано и за какое время, на основе этих данных высчитывать скорость. если скорость больше положенной, то раз в секунду вставлять sleep с задержкой, котороую тоже легко вычислить.


 
FireMan_Alexey ©   (2009-02-09 09:35) [2]

Только понимаеш у меня не одно соединение с сервером от одного клиента, а N - штук. :)


 
Сергей М. ©   (2009-02-09 09:51) [3]


> есть ли алгоритм распределения скоростей или какая-нибудь
> идея, как это реализовать?


По-хорошему, это задача не прикладного сервера, а шейпера в составе, например, автономного роутера.

Не знаю насколько это тебе поможет:

http://www.x-drivers.ru/articles/manuals/12/1.html


 
Anatoly Podgoretsky ©   (2009-02-09 11:18) [4]


> (МАКС скорость)/(Кол-во соединений),

Есть просто не использовать скорость, а только МАКС скорость соединения для потока, можно адаптивно для каждого по своему.

> Только понимаеш у меня не одно соединение с сервером от
> одного клиента, а N - штук. :)

А это разве что то меняет? Или расчитывает это для каждого соединения индивидуально, или как усредненая для всех соединений.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2011.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.003 c
4-1245066406
Riply
2009-06-15 15:46
2011.02.06
Принцип работы LookupPrivilegeValueW


15-1288100292
vrem
2010-10-26 17:38
2011.02.06
То, где ты работаешь - продаётся


15-1287415882
ocean
2010-10-18 19:31
2011.02.06
Флешка 4Г стала 4М


15-1288009676
Alx2
2010-10-25 16:27
2011.02.06
Перепись. Последний день.


3-1252485463
Xmen
2009-09-09 12:37
2011.02.06
Unable to determine field names





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский