Стабильный релиз | 11 |
---|---|
Репозиторий |
|
Написано в | С |
Операционная система | Кроссплатформенный |
Доступно в | Английский |
Тип | Модуль для HTTP-сервера Apache |
Лицензия | Лицензия Apache |
Веб-сайт | mod-qos.sourceforge.net |
mod_qos — это модуль качества обслуживания (QoS) для HTTP-сервера Apache, реализующий механизмы управления, которые могут предоставлять разный приоритет разным запросам.
Веб-сервер может обслуживать только ограниченное количество одновременных запросов. QoS используется для обеспечения доступности важных ресурсов при высокой нагрузке на сервер. mod_qos используется для отклонения запросов к неважным ресурсам, предоставляя при этом доступ более важным приложениям. Также можно отключить ограничения доступа, например, для запросов к очень важным ресурсам или для очень важных пользователей.
Механизмы контроля доступны на следующих уровнях:
Модуль может быть полезен при использовании в обратном прокси-сервере для разделения ресурсов на разные веб-серверы .
Первый вариант использования показывает, как mod_qos может избежать простоя веб-сервера из-за медленных ответов одного приложения. Если приложение (здесь /ccc) очень медленное, запросы ждут, пока не истечет время ожидания. Из-за большого количества ожидающих запросов веб-сервер исчерпывает свободные TCP-соединения и не может обрабатывать другие запросы к приложению /aaa или /bbb. mod_qos ограничивает одновременные запросы к приложению, чтобы обеспечить доступность других ресурсов.
Расширение keep-alive для HTTP 1.1 позволяет устанавливать постоянные TCP-соединения для множественных запросов/ответов. Это ускоряет доступ к веб-серверу за счет меньшего и оптимизированного сетевого трафика. Недостатком этих постоянных соединений является то, что ресурсы сервера блокируются, даже если между клиентом и сервером не происходит обмена данными. mod_qos позволяет серверу поддерживать keep-alive до тех пор, пока достаточно свободных соединений, прекращая поддержку keep-alive при достижении определенного порога соединения.
Один клиент может открыть много одновременных TCP-соединений для загрузки различного контента с веб-сервера. В то время как клиент получает много соединений, другие пользователи могут не иметь доступа к серверу, поскольку для них не осталось свободных соединений. mod_qos может ограничить количество одновременных соединений для одного исходного IP-адреса.
Если вам нужно ограничить количество запросов к URL, mod_qos может помочь и в этом. mod_qos ограничивает максимальное количество запросов в секунду к этому URL. Модуль также может контролировать пропускную способность. Просто укажите максимально допустимую пропускную способность, и moq_qos начнет регулировать ее, когда это станет необходимым.
mod_qos может помочь защитить веб-сервер Apache от DoS-атак с низкой пропускной способностью, устанавливая минимальную пропускную способность загрузки/выгрузки, которую должен генерировать клиент. [1]
Первоначальный релиз mod_qos был создан в мае 2007 года и опубликован на SourceForge.net [2] как проект программного обеспечения с открытым исходным кодом. Он мог ограничивать количество одновременных HTTP-запросов для указанных ресурсов (часть пути URL-адресов запроса ) на веб-сервере. Было добавлено больше функций, и некоторые из них были полезны для защиты серверов Apache от DoS- атак. [3] [4] В 2012 году mod_qos был включен в дистрибутив Ubuntu Linux. [5]
Основные релизы: [6]