DDoS Protection Powered by DDoS-GUARD

Ограничение скорости на Apache с помощью модуля "mod_ratelimit"

Просмотров: 2647Комментарии: 0
Web-Сервер

Я же хочу, чтоб мой сайт выдерживал огромное количество обращений :).

Значит ограничим скорость передачи данных для клиента.

(надеюсь это так работает :)

В статье используются программы:

GreenShot v1.2.10.6 Программа для создания скриншотов оф. сайт
AkelPad v4.9.8 Текстовый редактор оф. сайт

Модуль доступен в "Apache" начиная с версии 2.4.24

Проверить версию установленного "Apache" можно командой из консоли "httpd -v"

Или

посмотреть в логах "error.log"

Или почитать в файле "CHANGES.txt"

Или... или... или...

2017-11-29-12_25_52-administrator_-c__windows_system32_cmd.exe.jpg

Для начала нужно определиться, а какую максимальную скорость оптимально задать. Для этого нужно выяснить сколько весят страницы на сайте.

Открываем браузер, заходим на нужный сайт, жмакаем "F12", вроде у всех на "F12" (открывается анализатор, или как его там) у меня браузер "Vivaldi" (в "Vivaldi" нужно ещё галочку поставить "Disble cache" 2017-11-29-12_18_59-sajt-_pro_.jpg, чтоб всё скачивалось полностью).

Выбираем раздел "Network" или "Сеть" и обновляем страницу.

2017-11-29-12_12_28-sajt-_pro_.jpg

Внизу будет написано сколько передано данных.

2017-11-29-12_18_49-sajt-_pro_.jpg

Так. Теперь понятно. Главная страница весит примерно 600кБ... статья в среднем 1000кБ.

Ну вот и ограничим скорость передачи данных в 1024кБ. Как обычно скорость указана не в тех единицах :) т.е. по идее страничка должна будет загрузиться за один вьюх (1с).

Кстати - можно поставить 1кБ LOL Пусть пользователи страдают, очень забавно смотреть как сайт постепенно прогружается LOL

Теперь активируем модуль, раскомментировав его название в файле конфигурации "Apache" "httpd.conf".

LoadModule ratelimit_module modules/mod_ratelimit.so

Для раскомментирования нужно убрать символ чиновник решётка.

2017-11-29-12_06_07-httpd.conf-akelpad_.jpg

Открываем файл "httpd-vhosts.conf" и дописываем над "</VirtualHost>" вот это:

<Location "/">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 1024 
    SetEnv rate-initial-burst 200
</Location>

2017-11-29-15_40_02-httpd-vhosts.conf-akelpad_.jpg

А "rate-initial-burst" - это количество данных которые мы передаём, до того как начнём ограничивать скорость, мне хватит и 200кБ biggrin

Перезапускаем "Apaсhe" и можем спать спокойно. Красотень cool

Оставьте комментарий!

smile biggrin LOL rofl2 wink rolleyes2 acute aggressive bad blume1 blush bomb boredom bye clapping congratulate cool cray dance2 diablo drinks empathy flag_of_truce fool fool3 good good2 greeting help hi hmm i_am_so_happy mad mocking morning1 music nea new_russian nyam2 ok pardon playboy pleasantry sad scare scratch_one-s_head secret shok sorry stop timeout yahoo shyesok crazy dash1.gif dash2.gif gamer.gif hang1.gif ireful.gif mail1.gif mamba.gif sarcastic.gif wacko1.gif wacko2.gif wacko3.gif


Комментарий будет опубликован после проверки

     

  

(обязательно)