ПРОЕКТЫ 


  АРХИВ 


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: nginx лучше сквида?



On Tue, 18 Oct 2005, GribUser wrote:

А как выглядит распределение user/system/idle, когда nginx
подымается выше всех в top'е и ест, скажем, 15% ?
load averages:  1.41,  2.40,  2.91
78 processes:  76 sleeping, 2 on cpu
CPU states: 54.9% idle, 18.8% user, 26.2% kernel,  0.0% iowait,  0.0%
swap
Memory: 2047M real, 687M free, 1330M swap in use, 6113M swap free

  PID USERNAME LWP PRI NICE  SIZE   RES STATE    TIME    CPU COMMAND
23000 nobody     1  40    0   21M   20M cpu/0   27:28 10.67% nginx
27454 nobody     1  59    0   20M   19M sleep   17:34 10.45% nginx
  388 mysql     16  59    0  820M  675M sleep   21.5H  6.52% mysqld
 4158 nobody     1  59    0   16M   15M sleep    0:56  1.99% nginx
 4333 nobody     1  59    0   56M   38M sleep    0:11  1.11% httpd
 4434 nobody     1  59    0   86M   68M sleep    0:31  1.11% httpd
27352 nobody     1  59    0   15M   14M sleep   23:38  0.86% nginx
 4438 nobody     1  59    0   44M   26M sleep    0:03  0.81% httpd
 4445 nobody     1  52    0   41M   22M sleep    0:01  0.72% httpd

Системное время, как и ожидалось, большое.

Я, кажется, понял, почему squid не ест процессор при проксировании
больших файлов. Я потестировал, сразу оговорюсь, старую версию squid'а -
2.4.STABLE7, и, surprise-surprise, не увидел акселерации больших
ответов. Похоже, акселератор из squid'а - немногим лучше, чем из mod_proxy.

Я не нашёл програмки, которая бы читала ответ с задержками, поэтому
собрал схему с nginx'ом, который ограничивает скорость забирания ответа
у squid'а:

  ab -> nginx -> squid -> apache.

nginx проксирует запросы на squid, не использует временные файлы,
может считать у squid'а не больше 6K и ограничивает скорость отдачи в 1K:

            limit_rate                 1k;
            proxy_pass                 http://127.0.0.1:3128/;
            proxy_header_buffer_size   2k;
            proxy_buffers              2 2k;
            proxy_busy_buffers_size    2k;
            proxy_max_temp_file_size   0;

squid настроен так:

            httpd_accel_host           127.0.0.1
            httpd_accel_port           9000
            httpd_accel_single_host    on

Ответ в 250K Апач отдал squid'у мгновенно, а вот 300K отдавал 41 секунду.


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




 




Copyright © Lexa Software, 1996-2009.