The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"nginx, limit_req, чего-то недопонимаю..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (nginx)
Изначальное сообщение [ Отслеживать ]

"nginx, limit_req, чего-то недопонимаю..."  +/
Сообщение от willie on 11-Мрт-10, 04:19 
доброго времени...

имеется nginx+php-fpm и форум на phpBB на этом деле. стала необходимость ограничить отдачу озверевшим и т.п...

sitename.conf
=====================================================================================
limit_req_zone $binary_remote_addr zone=scripts:10m rate=2r/s;

server {
        listen          sitename.ru;
        server_name     sitename.ru www.sitename.ru;

        access_log      /var/log/nginx/sitename.access_log main;
        error_log       /var/log/nginx/sitename.error_log info;

        root  /var/www/sitename.ru/htdocs;

        location ~ \.php$ {
                                limit_req zone=scripts burst=3;

                                try_files      $uri =404;
                                fastcgi_pass    backend;
                                fastcgi_index   index.php;
                                fastcgi_param  SCRIPT_FILENAME  /var/www/sitename.ru/htdocs$fastcgi_script_name;
                                include /etc/nginx/fastcgi_params;
                          }

        autoindex off;


        }

=====================================================================================

и все бы великолепно, то есть 2 запроса в секунду (3), а дальше лесом, в общем как полагается, если бы не одно но - аватарки и некоторые другие картинки оно получает примерно так: "GET /download/file.php?avatar=111_222_zzz.gif", то есть это дело тоже попадает под зону scripts и ограничивается.
ладно, добавил -
=====================================================================================
limit_req_zone $binary_remote_addr zone=images:10m rate=100r/s;
server {
.......

        location ~* \.(jpg|jpeg|gif|png|mng|tif|tiff|svg|ico)$ {
                    limit_req zone=images burst=100;
                }
.......
=====================================================================================

теперь вроде бы как нужно, то есть (судя по логам) все картинки в зоне images. только вот оно не работает, то есть все равно ограничивает непонятно по какому признаку

2010/03/10 12:55:48 [error] 6749#0: *210024 limiting requests, excess: 0.000 by zone "images", client: xx.xx.xx.xx, server: sitename.ru, request: "GET /images/smilies/ok.gif", host: "sitename.ru"

при 100r/s ограничивает вообще практически всю графику, при 1000r/s не многим легче, и даже если поставить 5000r/s все равно не все смайлы пролазят сразу, а отдаются как на диалапе, то есть по одному
не понимаю куда копать... ну пусть мой FF и качает 100 картинок за раз (ну не больше, там быть не может больше), так почему и при 1000 такая лажа?
nginx-0.8.34, gentoo ~x86

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "nginx, limit_req, чего-то недопонимаю..."  +/
Сообщение от willie on 11-Мрт-10, 04:33 
хотя нет, похоже я вообще не в те дебри копаю(((
аватары все равно лимитируются, что не удивительно..
наверное сформулирую иначе вопрос: как бы мне сделать так, чтоб запросы GET /download/file.php?avatar=xxx_zzz.gif не попадали в зону scripts? желательно все же чтоб в зону images шли, но тогда вопрос по картинка и лимитам на них остается тоже открытым... сейчас режет около десятка картинок при лимите 6000r/s, дурдом
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру