ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: очень много клиентов



On Tue, 14 Feb 2006, Anton Maksimenkov wrote:

С одним из сильно посещаемых сайтов при попытке перевести его с
apache на nginx происходит сильное падение трафика (обслуживания),
почти в 2 раза.

Схема такова: бакэндовый апач отдаёт статические в основном
странички, используется mod_layout; и прокси отдает всё это наружу.

На бакэнде применены фичи:
---------------------------------------------------------------------
# отключаем неплательщиков
RewriteEngine   On
RewriteMap      block-domain-ru        txt:/var/www/block.domain.ru
RewriteRule     ^(/([^/]+)/.*)$        ${block-domain-ru:$2|$1}

# ограничиваем любителей поделиться трафиком картинок
RewriteCond    %{HTTP_REFERER}
!^http://[0-9a-z][0-9a-z-]*[0-9a-z]\.domain\.ru$ [NC]
RewriteCond    %{HTTP_REFERER}
!^http://[0-9a-z][0-9a-z-]*[0-9a-z]\.domain\.ru/.*$ [NC]
RewriteRule     ^.*\.(gif|jpeg|jpg)$    - [F,L,NC]

# батва
RewriteCond     %{HTTP_REFERER} ^http://[^/]*[\%[:space:]][^/]*$ [OR]
RewriteCond     %{HTTP_REFERER} ^http://[^/]*[\%[:space:]][^/]*/.*$
RewriteRule     ^.*                     - [F,L]
---------------------------------------------------------------------

На прокси всё соответственно проксируется
---------------------------------------------------------------------
Listen X.X.X.X:80
NameVirtualHost *:80

<VirtualHost *:80>
ServerName domen.ru
RewriteEngine   On
RewriteCond     %{HTTP_HOST} ^(.+)\.domen\.ru.*$ [NC]
RewriteRule     (.*) http://hosting.domen.ru.int/%1$1 [L,P]
RewriteRule     .*   http://domen.ru
</VirtualHost>
---------------------------------------------------------------------

При попытке завернуть также, но используя nginx как прокси с конфигом
примерно таким
---------------------------------------------------------------------
user  www www;
worker_processes  8;
events {
   worker_connections  4096;
}
   output_buffers  8192 128k;
   userid          on;
   userid_name     Apache;

   server_names_hash_max_size      2048;
   server_names_hash_bucket_size   256;

   log_format accounting '$remote_addr $body_bytes_sent $http_host 
[$time_local] '
                       '"$http_cookie" "$http_referer" "$request"';


server {
       listen  X.X.X.X:80 default backlog=2048;
       server_name     www.domen.ru *.domen.ru;
       proxy_buffering on;
       proxy_buffers   2048 128k;
       set $host_part  "";
       location / {
               if ($http_host ~* "^(.+)\.domen\.ru.*$") {
                       set $host_part  $1;
               }
               rewrite ^(.*)$  /$host_part/$1  break;
               proxy_pass      http://127.0.1.6;
       }
       access_log  /var/www/logs/access.log accounting buffer=32k;
}
---------------------------------------------------------------------

получаем потерю объёмов трафика раза в 1.5 - 2. И в логах примерно в
1.5 - 2 раза меньше "записей в минуту", чем при использовании апача.
Примерно с 5500 записей в минуту до 3500 падает.
Серфить вроде бы получается, есть мнение, что падает интенсивность
обслуживания (а может где-то и отказ получается, но в error.log очень
тихо, несколько раз в час о силы ругается). На страничках, где много
картинок, эти самые картинки отдаются с несколько большими задержками
(с апачем они прямо кучно так все появляются, а c nginx сначала штук
5, а потом остальные 15 с задержками).

Также замечается некоторое снижение интенсивности (по server-status)
на бакэнде, меньше процессов одновременно работает.

Всвязи с чем вопрос. Где ещё покрутить, чтобы добиться от nginx хотя
бы того же, что выкачивал апач? И почему такое снижение интенсивности?

Какая ОС ? Есть ли в логах что-нибудь про alert|crit ?


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



 




Copyright © Lexa Software, 1996-2009.