|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Igor Sysoev 2:5020/400 16 Feb 2005 14:46:40 To : Pupkin Subject : Re: Perl-скрипты и размер пакетов TCP -------------------------------------------------------------------------------- Pupkin <fido@mail.kuban.ru> wrote: > FreeBSD 4.6.2, Apache 1.3.26. "мамка" SCB2, ОЗУ 1 Гб > > Столкнулся с явлением разбиения исходящего трафика на мелкие > пакеты при вызове perl-скриптов. В tcpdump выглядит так: > > S 3407386384:3407386384(0) win 65320 <mss 1380,nop,nop,sackOK> (DF) > S 2740204832:2740204832(0) ack 3407386385 win 57344 <mss 1460> > . ack 1 win 65320 (DF) > P 1:517(516) ack 1 win 65320 (DF) > . ack 517 win 57960 (DF) > P 1:277(276) ack 517 win 57960 (DF) > P 277:291(14) ack 517 win 57960 (DF) > P 291:441(150) ack 517 win 57960 (DF) > P 441:486(45) ack 517 win 57960 (DF) > P 486:564(78) ack 517 win 57960 (DF) > P 564:636(72) ack 517 win 57960 (DF) > P 636:723(87) ack 517 win 57960 (DF) > P 723:882(159) ack 517 win 57960 (DF) > P 882:906(24) ack 517 win 57960 (DF) > P 906:972(66) ack 517 win 57960 (DF) > P 972:1049(77) ack 517 win 57960 (DF) > P 1049:1114(65) ack 517 win 57960 (DF) > P 1114:1166(52) ack 517 win 57960 (DF) > P 1166:1218(52) ack 517 win 57960 (DF) > P 1218:1296(78) ack 517 win 57960 (DF) > P 1296:1356(60) ack 517 win 57960 (DF) > P 1356:1404(48) ack 517 win 57960 (DF) > > В то же время при запросе обычной html-страницы всё в порядке > tcpdump > S 3916552411:3916552411(0) win 65320 <mss 1380,nop,nop,sackOK> (DF) > S 3537585899:3537585899(0) ack 3916552412 win 57344 <mss 1460> > . ack 1 win 65320 (DF) > P 1:614(613) ack 1 win 65320 (DF) > P 1:180(179) ack 614 win 57960 (DF) > . ack 180 win 65141 (DF) > P 614:1141(527) ack 180 win 65141 (DF) > . 180:1560(1380) ack 1141 win 57960 (DF) > . 1560:2940(1380) ack 1141 win 57960 (DF) > . 2940:4320(1380) ack 1141 win 57960 (DF) > . 4320:5700(1380) ack 1141 win 57960 (DF) > . 5700:7080(1380) ack 1141 win 57960 (DF) > . 7080:8460(1380) ack 1141 win 57960 (DF) > . 8460:9840(1380) ack 1141 win 57960 (DF) > . 9840:11220(1380) ack 1141 win 57960 (DF) > . 11220:12600(1380) ack 1141 win 57960 (DF) > . 12600:13980(1380) ack 1141 win 57960 (DF) > . 13980:15360(1380) ack 1141 win 57960 (DF) > . 15360:16740(1380) ack 1141 win 57960 (DF) > > Памяти хватает. Такая картина наблюдается и при 500 Мб свободной памяти > после принудительного освобождения записью-стиранием большого файла. > Hагрузка load average < 2. Хотя картина не меняется при изменении LA от > 0 > до 20 и загрузке процессора от 30% до 100%. > Perl пробовал версий 5.005.3 и 5.6.1, картина не менялась. > > Куда копать? > PERL? Apache? ТСР-стек системы? Скорее всего, дело осбтоит так: perl выдаёт данные мелкими пакетами, mod_cgi передаёт их в Apache, и после каждого пакета делает ap_rflush(). Вот они такими же уходят в ядро. А из ядра в сеть. -- Игорь Сысоев http://sysoev.ru --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577f2c3b761.html, оценка из 5, голосов 10
|