Большое спасибо.<br><br><div class="gmail_quote">2008/11/19 Igor Sysoev <span dir="ltr"><<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Wed, Nov 19, 2008 at 01:40:15PM +0300, Sergey Shepelev wrote:<br>
<br>
> Компания - регистратор доменов предоставляет услугу HTTP redirect с<br>
> юзерского домена на какой угодно адрес.<br>
> Эту услугу обслуживает nginx на одном адресе, на одной машине.<br>
><br>
> Клиентов часто ДДоСят, поэтому редиректор тоже под большой нагрузкой из-за<br>
> этого.<br>
><br>
> Доменов, с которых надо редиректить, примерно 500, это число будет расти, но<br>
> достаточно медленно.<br>
><br>
> Задача nginx - максимально быстро вернуть редирект и принудительно закрыть<br>
> соединение.<br>
><br>
> Есть ли аргументы в пользу "нестабильного" 0.7, например, он быстрее ищет<br>
> сервер в списке виртхостов?<br>
<br>
</div>0.7 в этом плане не особо отличается от 0.5.<br>
<div class="Ih2E3d"><br>
> Работающий nginx 0.5 давно настраивал плохо разбирающийся в nginx человек,<br>
> поэтому присылать текущий конфиг смысла не вижу.<br>
><br>
> Значительного увеличения производительности удалось достигнуть за счет<br>
><br>
> listen (ip):80 *default rcvbuf=2K backlog=128*;<br>
><br>
> можно ли здесь еще что-нибудь улучшить?<br>
><br>
> Учитывая, что практически все легальные запросы живых юзеров -<br>
</div>> <a href="http://xn--d1acufc/" target="_blank">http://домен/</a><<a href="http://xn--d1acufc/" target="_blank">http://xn--d1acufc/</a>>,<br>
<div class="Ih2E3d">> будет ли смысл писать конфиг виртхоста, как<br>
><br>
> server {<br>
> listen (ip):80;<br>
> server_name vhost;<br>
> * location = / { rewrite .* <a href="http://redirect.to/" target="_blank">http://redirect.to/</a>; }<br>
> * location / { rewrite (.*) <a href="http://redirect.to/$1" target="_blank">http://redirect.to/$1</a>; }<br>
> }<br>
<br>
</div>Да, так будет немного лучше. Я предпочитаю такой вариант:<br>
<br>
- location = / { rewrite .* <a href="http://redirect.to/" target="_blank">http://redirect.to/</a>; }<br>
+ location = / { rewrite ^ <a href="http://redirect.to/" target="_blank">http://redirect.to/</a>; }<br>
<br>
но не знаю, насколько "^" отличается от ".*" по производительности.<br>
Возможно, они компилируются в одно и то же .<br>
<div class="Ih2E3d"></div></blockquote><div><br>Спасибо. Кстати, разница между<br>1) один server, 400 if ( $host ~ vhost ) { redirect .* <a href="http://redirect.addr/">http://redirect.addr/</a> redirect; }<br># да, я знаю что это плохо, но так было раньше, будет исправлено<br>
и<br>2) много директив server, в каждой location = / { rewrite ^ <a href="http://redirect.to/" target="_blank">http://redirect.to/</a>; } location / { rewrite (.*) <a href="http://redirect.to/$1" target="_blank">http://redirect.to/$1</a>; }<br>
ровно в два раза: 4500 и 9000 зап/сек соответственно.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
> Может быть, можно подкрутить *_buffer_size, *_timeout? Посоветуете?<br>
> Может нужно отключить посыл каких-то заголовков?<br>
><br>
> **keepalive_timeout стоит 0.<br>
<br>
</div>reset_timedout_connection on;<br>
<div><div></div><div class="Wj3C7c"></div></div></blockquote><div><br>Это тоже стояло.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div class="Wj3C7c"><br>
> "Производительность" тестировалась c помощью ab -c 1000 -n 50000<br>
> <a href="http://vhost/" target="_blank">http://vhost/</a><br>
> сейчас это 9к запросов/сек, но я чувствую, что можно больше.<br>
<br>
<br>
</div></div><font color="#888888">--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
</font></blockquote></div><br>