настройка редиректора

Igor Sysoev is at rambler-co.ru
Wed Nov 19 16:04:01 MSK 2008


On Wed, Nov 19, 2008 at 01:40:15PM +0300, Sergey Shepelev wrote:

> Компания - регистратор доменов предоставляет услугу HTTP redirect с
> юзерского домена на какой угодно адрес.
> Эту услугу обслуживает nginx на одном адресе, на одной машине.
> 
> Клиентов часто ДДоСят, поэтому редиректор тоже под большой нагрузкой из-за
> этого.
> 
> Доменов, с которых надо редиректить, примерно 500, это число будет расти, но
> достаточно медленно.
> 
> Задача nginx - максимально быстро вернуть редирект и принудительно закрыть
> соединение.
> 
> Есть ли аргументы в пользу "нестабильного" 0.7, например, он быстрее ищет
> сервер в списке виртхостов?

0.7 в этом плане не особо отличается от 0.5.

> Работающий nginx 0.5 давно настраивал плохо разбирающийся в nginx человек,
> поэтому присылать текущий конфиг смысла не вижу.
>
> Значительного увеличения производительности удалось достигнуть за счет
> 
>      listen (ip):80 *default rcvbuf=2K backlog=128*;
> 
> можно ли здесь еще что-нибудь улучшить?
> 
> Учитывая, что практически все легальные запросы живых юзеров -
> http://домен/<http://xn--d1acufc/>,
> будет ли смысл писать конфиг виртхоста, как
> 
> server {
>   listen (ip):80;
>   server_name vhost;
> *  location = / { rewrite .* http://redirect.to/; }
> *  location / { rewrite (.*) http://redirect.to/$1; }
> }

Да, так будет немного лучше. Я предпочитаю такой вариант:

-  location = / { rewrite .* http://redirect.to/; }
+  location = / { rewrite ^  http://redirect.to/; }

но не знаю, насколько "^" отличается от ".*" по производительности.
Возможно, они компилируются в одно и то же .

> Может быть, можно подкрутить *_buffer_size, *_timeout? Посоветуете?
> Может нужно отключить посыл каких-то заголовков?
> 
> **keepalive_timeout стоит 0.

reset_timedout_connection  on;

> "Производительность" тестировалась c помощью ab -c 1000 -n 50000
> http://vhost/
> сейчас это 9к запросов/сек, но я чувствую, что можно больше.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list