Почему загрузки Squid могут превысить месячную квоту трафика
Поймите, почему периодические отчёты и журналы завершённых запросов не позволяют обеспечить точную квоту текущего трафика прокси.
Отчёт о квоте, обновляемый каждые десять минут, может упустить гораздо больше десяти минут текущего трафика. Встроенное журналирование транзакций Squid обычно записывает завершённую транзакцию, поэтому открытая загрузка или туннель CONNECT может ещё не сообщить окончательное число байтов.
Сначала определите, какой трафик учитывает квота.
Допуск происходит до окончательного учёта
Помощник может допустить новый запрос с помощью базы учёта. Обновление этой базы позже не останавливает автоматически уже допущенную работу.
Одновременные запросы тоже могут обращаться к одному и тому же балансу. При остатке 20 MB две одновременные операции по 15 MB могут быть обе допущены до того, как какая-либо изменит общий итог. Точный отчёт после этого не отменит превышение.
Аутентификация и кэширование внешних ACL могут ещё сильнее задержать изменённое решение. Разрешённый в кэше доступ — это не свежая проверка баланса. Учёт по IP тоже может объединять пользователей за одним транслируемым источником.
Определите предел, который вы можете обеспечить
Мягкая месячная политика может допускать запаздывающие итоги и документированный допуск на превышение. Жёсткий предел в реальном времени требует авторитетного измерителя в реальном времени и механизма, способного воздействовать на идущий трафик.
Решите, будут ли допущенные передачи завершаться, прерываться или резервировать бюджет. Определите, как одновременные операции делят этот бюджет и как неудачные операции освобождают резервы. Передача, начинающаяся чуть ниже предела, должна иметь предсказуемый исход.
Включите в проект учёта перенос остатка, поздние записи, перезапуски службы и ротацию журналов. Сохраняйте долговременный прогресс обработки; удаление активного журнала ради избежания двойного счёта может, наоборот, уничтожить доказательства.