Welcome! Log In Create A New Profile

Advanced

Ограничение количества запросов

August 08, 2016 06:21AM
Поисковые боты часто дёргают сайты, чем создают большую нагрузку. Была предпринята попытка ограничить запросы к php-страницам.
Вот конфиг nginx:

http {
......

limit_req_zone $bot_key zone=php_bot:100m rate=5r/s;

log_format bot '$time_local $status $server_name ...'

server {
......

location ~* \.php$ {
......

set $bot_key "";
if ($http_user_agent ~* spider|bot|crawl|megaindex|yahoo){ set $bot_key $server_name; }

limit_req zone=php_bot;
limit_req_status 503;
limit_req_log_level notice;

access_log /var/log/nginx/access-php-bot.log bot if=$bot_key;
}
}
}

Секций server { ... } несколько, они все идентичные.
В итоге после полного перезапуска nginx в логе видим:

08/Aug/2016:12:27:00 +0300 200 site.com ... upstream_response_time=0.119
08/Aug/2016:12:27:00 +0300 503 site.com
08/Aug/2016:12:27:00 +0300 503 site.com
08/Aug/2016:12:27:00 +0300 200 site.com ... upstream_response_time=0.117
08/Aug/2016:12:27:00 +0300 503 site.com
08/Aug/2016:12:27:00 +0300 200 site.com ... upstream_response_time=0.116
08/Aug/2016:12:27:00 +0300 200 site.com ... upstream_response_time=0.022

08/Aug/2016:12:27:01 +0300 200 site.com ... upstream_response_time=0.129
08/Aug/2016:12:27:01 +0300 503 site.com ...
08/Aug/2016:12:27:01 +0300 200 site.com ... upstream_response_time=0.074
08/Aug/2016:12:27:01 +0300 503 site.com ...
08/Aug/2016:12:27:01 +0300 200 site.com ... upstream_response_time=0.030
08/Aug/2016:12:27:01 +0300 503 site.com ...

За "01" секунду всего 3 успешно обработанных запроса, за предыдущую - 4, несмотря на то, что ограничение допускает обработку 5 запросов.
Почему так, в чём ошибка ? Какая временная метка указывается в логе - момента прихода запроса или момента выдачи ответа ?
Даже если временная метка - это момент выдачи ответа, то всё равно маловато выходит: за каждую из секунд не пропустилось максимально допустимое количество запросов.
Как корректно проверять правильно ли работает конфигурация nginx, понял ли nginx то, что от него хотели ?
Subject Author Posted

Ограничение количества запросов

nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k August 08, 2016 06:21AM

Re: Ограничение количества запросов

Илья Шипицин August 08, 2016 06:38AM

Re: Ограничение количества запросов

nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k August 08, 2016 06:54AM

Re: Ограничение количества запросов

Илья Шипицин August 08, 2016 07:10AM

Re: Ограничение количества запросов

vitcool August 08, 2016 07:38AM

Re: Ограничение количества запросов

Валентин Бартенев August 08, 2016 06:54AM

Re: Ограничение количества запросов

nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k August 08, 2016 07:27AM

Re: Ограничение количества запросов

nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k August 08, 2016 07:48AM

Re: Ограничение количества запросов

Evgeniy Berdnikov August 08, 2016 08:02AM

Re: Ограничение количества запросов

Валентин Бартенев August 08, 2016 09:04AM

Re: Ограничение количества запросов

nNgzlTtv3k5lzmKRvlmS22tSl8sJr68k August 08, 2016 10:12AM

Re: Ограничение количества запросов

vitcool August 08, 2016 07:42AM

Re: Ограничение количества запросов

Иван August 09, 2016 02:38PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 71
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready