настройка редиректора
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