Назад | Перейти на главную страницу

Apache2: ограничение одновременных запросов и ограничение пропускной способности для каждого IP / клиента?

Я хочу ограничить одновременные запросы и ограничить пропускную способность для каждого IP / клиента на одном виртуальном хосте apache. Другими словами, я хочу убедиться, что этот сайт, на котором размещены большие медиафайлы, не будет заблокирован кем-то, кто пытается загрузить все сразу (это произошло вчера вечером).

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

Мы запускаем Ubuntu 9.04 на всех серверах, и у нас есть два сервера apache / php, которые балансируют нагрузку через Round Robin прокси-сервером squid. MySQL также работает на собственном компьютере. У нас есть достаточная пропускная способность, чтобы дать им, поэтому мне не нужны общие ограничения, а просто нужно ограничить объем памяти / процессора, который требуется для обслуживания этого сайта. На этих серверах есть другие сайты, к которым мы тоже не хотим применять эти правила, просто хотим, чтобы этот не забирал все ресурсы.

Дайте мне знать, если вам понадобится дополнительная информация! Заранее благодарим за ваши предложения!

попробуй использовать http://opensource.adnovum.ch/mod_qos/ mod_qos теперь обо всем позаботится :)

http://www.cohprog.com/mod_bandwidth.html позаботится о 80% того, что вам нужно.

Для формирования трафика вы можете посмотреть tc из http://lartc.org/