|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Davydov 2:5020/400 17 Nov 2005 12:21:43 To : Sergey Zabolotny Subject : Re: ограничение скорости --------------------------------------------------------------------------------
> From: Sergey Zabolotny <Sergey.Zabolotny@p1.f122.n469.z2.fidonet.org>
> Date: Wed, 16 Nov 2005 20:30:56 +0300
>
>а хочу я вот чего - клиент
>имеет опрделенное колличество байт (назовем это значение ведром). он же
>(клиент) имеет возможность слить это ведро настолько быстро насколь хватает
>ширины моего внешнего канала в интернет, но ведро это наполняется байтами с
>определенной скоростью. т.е. если клиент слил полностью все, что ему было
>предназначаено, дальнейшая скорость скачки из пустого ведра будет ограничена
>скоростью наполнения этого ведра. скорость наполнения естественно задаю я.
>надеюсь я доступно объяснил.
Кнопку "Shift" настрой, тогда понятнее будет. А реализуется такое дело
при помощи realtime billing: есть база (например, файловая система), в
которой для каждого клиента хранится число, имеющее смысл объёма содержимого
ведра. С каждым скачанным байтом число уменьшается, когда оно перестанет
быть положительным - клиент блокируется. Ты по своему желанию увеличиваешь
это число, когда оно станет положительным - клиент разблокируется.
Поскольку производительность синхронной файловой системы ограничена сотнями
транзакций в секунду, на практике гранулярность приходится делать не побайтно,
а крупнее, например, поминутно, мирясь с тем, что клиент может залезть в долг
на величину до одной гранулы.
Вал. Дав.
--- ifmail v.2.15dev5.3
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577a1be4d9e.html, оценка из 5, голосов 10
|