ES Proxy
Описание системы квотирования внешнего канала

Ресурсы внешнего канала (трафик и сессии) делятся в данной версии ESPS динамически между всеми активными клиентами в соответствии с весом группы, к которой принадлежит тот или иной активный в данный момент клиент прокси-сервера. Вес группы задается в файле настройки клиентов в директиве "Weight". Блок каждой группы может содержать такую директиву. Если эта директива в описании группы опущена, то такой группе назначается вес равный единице. Все клиенты любой группы всегда динамически квотируются с одним и тем же весом, поэтому в одну группу следует назначать клиентов, которые должны иметь равные права. Абсолютное значение веса группы значения не имеет, играет роль лишь отношение весов различных групп.

Для практического осуществления квотирования в составе данной версии ESPS имеется специальный демон, который работает по следующему алгоритму. Активизируясь каждую секунду, он сначала выясняет круг активных в данный момент клиентов (таких, от которых последнее обращение поступило не более чем 10 секунд назад), затем вычисляет сумму их весов. После этого данный демон проходит по списку активных клиентов еще раз, распределяя при этом сессии и полосу внешнего канала по той доле, которую вес каждого клиента имеет в общей сумме весов всех активных клиентов. Например, общая полоса сервера составляет 100000 байт в секунду, а общее количество допустимых сессий - 100. Допустим также, что работают два клиента, один из группы директоров, с весом 3, а другой - из группы менеджеров, с весом 1. В этом случае, директор получит 75% всех ресурсов (то есть 75000 байт в секунду и 75 сессий), а менеджер - 25% (то есть 25000 байт в секунду и 25 сессий). При большем количестве активных "директоров" и "менеджеров" каждый из них получит меньше байт в секунду и меньше сессий, чем в этом примере, но любой директор, при указанном распределении весов, всегда получит ровно в три раза больше ресурсов, чем любой менеджер.

В заключение отметим, что данная система квотирования не имеет никакого отношения к отдаче клиентам объектов из кэша: получение объектов из кэша производится вне любых квот и лимитов. Кроме того, следует также подчеркнуть, что полоса внешнего канала квотируется отдельно по входящему и отдельно - по исходящему трафику.