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