ngx_http_limit_req_module и ngx_http_limit_zone_module

Anton Bessonov exelib at googlemail.com
Wed Oct 7 20:12:49 MSD 2009


Станислав schrieb:
> Evgeni Grigorenko пишет:
>> Станислав пишет:
>>> Станислав пишет:
>>>> Здравствуйте!
>>>>
>>>> Просветите меня, пожалуйста кто-то. Я вот тут немного запутался...
>>>>
>>>> В секции server создаем зоны
>>>> limit_zone myzone $binary_remote_addr 10m;
>>>> limit_req_zone $binary_remote_addr zone=one:10m rate=20r/s;
>>>>
>>>> В секцию server пихаем
>>>> limit_conn myzone 20;
>>>> limit_req zone=one burst=10;
>>>>
>>>> Такой пример много где видел...
>>>> И что теперь получается?
>>>> Как я понял, если правильно я понял, из манов... директива 
>>>> limit_conn ограничивает кол-во запросов в секунду.. В данном 
>>>> примере 20 запросов в секунду...
>>>>
>>>> Ну и с помощью limit_req мы ограничиваем теже 20 запросов в 
>>>> секунду, и даем "задержку" в 10 запросов...
>>>>
>>>> И дальше что? conn и req суммируется и получается 40 запросов в 
>>>> секунду с задержкой в 10 запросов?
>>>> Или 20 запросов ... задержка 10 запросов.... если так, то зачем 
>>>> юзают limit_conn и limit_req вместе?
>>>> или я вообще все неправильно понял и все ужасно?
>>>>
>>>>
>>> Разобрался )
>>> Теперь немного другой вопросик...
>>> У меня несколько вхостов, потому я создал несколько зон
>>> #       host 1
>>>        limit_zone defhost $binary_remote_addr 5m;
>>>        limit_req_zone $binary_remote_addr zone=qdefhost:5m rate=3r/s;
>>> #
>>> #       host 2
>>>        limit_zone ghsdub $binary_remote_addr 5m;
>>>        limit_req_zone $binary_remote_addr zone=qghsdub:5m rate=30r/s;
>>> и т.п....
>>>
>>> Правильно ли я сделал?
>>>
>>> И второй вопросик... подобрал настройки... но все равно что-то не 
>>> то... иногда не все изображения отдаются браузеру...
>>> Использую nginx и php-fpm ...
>>>
>>> В секции http
>>> limit_zone ghsdub $binary_remote_addr 5m;
>>> limit_req_zone $binary_remote_addr zone=qghsdub:5m rate=30r/s;
>>>
>>> В секции сервера
>>> limit_conn ghsdub 32;
>>> limit_req zone=qghsdub burst=20;
>>>
>>> Т.е. сам проект не большой...и у него не большая посещаемость...это 
>>> делается, чтоб предотвратить ддос атаки...
>>> Подскажите пожалуйста, оптимальные ли это настройки... или может 
>>> нужно что-то подправить...
>>> Спасибо огромное...
>>>
>>>
>> Ногами меня не бить если подскажу не то, но я ставил limit_req 
>> zone=*** а локейшн location ~ \.php$
>> Таким образом осуществляляся контроль за подклчениями только к php, и 
>> значения думаю по меньше нужно поставить (у меня rate=3r/s).
>>
>>
> В локайшене думал поставить, но у меня кип-элайф работает...при ддосе 
> идет превышения numtcpsock ...
> когда стояло rate=3r/s вообще мало что успевало подружатся...
> По моим наблюдениям... при запросе, браузером, страницы, параллельно 
> открываются потоки на загрузку других элементов страницы... там 
> изображения и т.п.
> А на сайте дохрена и больше картинок по-впихивали "делать нечего".. 
> Вот и получается, 3 запроса, + ожидание - бурст... а все остальное 
> отсекается...
> Поправьте меня, если я что-то неправильно сказал...
>
>
Может просто стоит вынести статический контент с бОльшим лимитом?
А что бы было нагляднее, можете посмотреть в firebug'е или webkit'е что 
и как запрашивает браувзер.





More information about the nginx-ru mailing list