ngx_http_limit_req_module и ngx_http_limit_zone_module
Станислав
server_inc at list.ru
Wed Oct 7 12:53:56 MSD 2009
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 запроса, + ожидание - бурст... а все остальное отсекается...
Поправьте меня, если я что-то неправильно сказал...
More information about the nginx-ru
mailing list