Re[2]: nginx тормозит выдачу контента. помогите выпрямить мне руки.

vvs at onecd.ru vvs at onecd.ru
Wed Dec 5 21:38:01 MSK 2007


>> >> Был Apache - контент отдавался со скоростью более 300Мбит.
>> >> Перешел на nginx+Apache. Скорость доходит до 120 МБит и после этого
>> >> падает до 99. На этой скорости и работает... Бэкенд не тормозит.
>> >> Ограничения на скачивания по кол-ву запросов с одного IP
>> >> были такими же - не более 3 одновременных (отключал - не влияет).
>> >> Сервер выдает файлы от 500Кб до 150Мб. Упора в дисковую
>> >> нет. Память и CPU не загружены. Пиковая нагрузка ~ 1500 соединений.
>> >> nginx принимает запросы, отправляет на бэкенд (Apache) получает
>> >> X-Accel-Redirect на /internal/.
>> >> Проблема, скорее всего, в моих кривых руках...
>> 
>> >>     limit_zone        server_ip_limit $binary_remote_addr  10m;
>> 
>> >>         limit_conn   server_ip_limit  3;
>> 
>> > А когда использовлся только Апач, подобное ограничение было ?
>> 
>> Приветствую, Игорь.
>> 
>> Было. Я выше писал об этом. Отключение limit_zone и limit_conn никак
>> не влияет на скорость - те же 99 мбит.
>> Может я собрал неправильно?

> Нет, сборка на такое не влияет. Апач сам отдаёт какие-нибудь файлы или
> только всегда перенаправляет в /internal/ ?

Мало, но отдает. Основная задача - перенаправление в /internal/.
Может быть проблема в sendfile? Когда работает апач, ответ
генерируется с помощью php и sendfile не используется...
Насколько я понимаю, nginx получив ответ говорит sendfile и забывает
до окончания запроса. Посему проблема не в nginx, а в системе.

Исследовав все, нашел единственное странное:
# vmstat -z
ITEM                     SIZE     LIMIT      USED      FREE  REQUESTS  FAILURES
16 Bucket:                152,        0,       42,       58,       80,        0
32 Bucket:                280,        0,       27,       57,       75,        0
64 Bucket:                536,        0,       14,       28,       45,       36
128 Bucket:              1048,        0,     3036,     2817,     7312,  5492731

Что сие означает?

При работе nginx
# top
last pid: 81899;  load averages:  0.22,  3.05,  3.07
up 0+14:15:03  19:11:18
95 processes:  1 running, 94 sleeping
CPU states:  1.3% user,  0.0% nice,  2.1% system,  7.2% interrupt, 89.4% idle
Mem: 182M Active, 2959M Inact, 491M Wired, 195M Cache, 209M Buf, 5604K Free
Swap: 2048M Total, 216K Used, 2048M Free

  PID USERNAME     THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  720 mysql         10   4    0   105M 82712K sbwait 1  36:22  0.00% mysqld
  726 root           1  77    0 19860K  2512K select 0   0:02  0.00% sshd
81461 www            1  -8    0 23440K  8672K biord  1   0:01  0.00% nginx
81462 www            1  -8    0 24056K  9292K biord  0   0:01  0.00% nginx
81463 www            1  -8    0 23260K  8488K biord  0   0:01  0.00% nginx
81460 www            1  -8    0 23920K  9156K biord  1   0:01  0.00% nginx
  528 bind           1  76    0  7604K  3624K select 1   0:01  0.00% named
  466 root           1  76    0  3688K  1064K select 0   0:00  0.00% syslogd
81344 root           1  76    0 60232K  7228K select 0   0:00  0.00% httpd
  743 root           1   8    0  3724K  1112K nanslp 1   0:00  0.00% cron

Без nginx
# top
last pid: 93306;  load averages:  2.17,  2.26,  2.29
1290 processes:5 running, 1281 sleeping, 4 lock
CPU states:  5.7% user,  0.0% nice, 29.5% system, 15.2% interrupt, 49.5% idle
Mem: 1567M Active, 1344M Inact, 627M Wired, 167M Cache, 214M Buf, 5604K Free
Swap: 2048M Total, 212K Used, 2048M Free

  PID USERNAME     THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
  720 mysql         11   4    0   113M 90260K sbwait 1  40:01  0.00% mysqld
83302 root           1  79    0 60412K  6656K select 0   0:10  0.00% httpd
  726 root           1  76    0 19860K  2512K select 1   0:03  0.00% sshd
  528 bind           1  76    0  7604K  3624K select 0   0:01  0.00% named
91750 www            1   4    0 60884K  7552K sbwait 0   0:01  0.00% httpd
  466 root           1  76    0  3688K  1064K select 0   0:00  0.00% syslogd
88682 www            1   4    0 60876K  7692K sbwait 0   0:00  0.00% httpd
91436 www            1   4    0 61180K  7880K sbwait 1   0:00  0.00% httpd
92307 www            1   4    0 61192K  7896K sbwait 0   0:00  0.00% httpd
92566 www            1   4    0 61204K  7912K sbwait 1   0:00  0.00% httpd
83509 www            1   4    0 61024K  6924K sbwait 1   0:00  0.00% httpd
92547 www            1  76    0 60948K  7792K select 1   0:00  0.00% httpd
89759 www            1   4    0 61144K  7852K sbwait 0   0:00  0.00% httpd

Исходя из всех данных, повторюсь, тормозит не nginx, а система.
Если есть мысли - подскажите куда копать...



More information about the nginx-ru mailing list