FastCGI и параллельная обработка запросов

agelun nginx-forum на nginx.us
Ср Окт 20 19:50:52 MSD 2010


Добрый день всем.
Если тема уже поднималась прошу не бить
сильно.

nginx/0.7.14, nginx/0.7.67
CentOS 5.5

Есть nginx с fcgi сервером на perle
(практически из кукбука). Каждый запрос
обрабатывается 10 секунд (sleep 10). Но вот
какая ерунда: если отправить несколько
запросов подряд (интервал 1-2 секунды) на
один и тот же URI все они выстроятся в
очередь и будут обработаны nginx'ом
последовательно. Если же URI разные - они
обработаются параллельно (точнее, своя
очередь для каждого URI). 

При том, судя по tcpdump'у именно nginx'ом, а не
fcgi-сервером:

19:16:12.216454 IP 127.0.0.1.56962 > 127.0.0.1.12345: S
2113765874:2113765874(0) win 5840 
19:16:12.216473 IP 127.0.0.1.12345 > 127.0.0.1.56962: S
1068146095:1068146095(0) ack 2113765875 win 5792 
19:16:12.216633 IP 127.0.0.1.56962 > 127.0.0.1.12345: . ack 1 win 46 
19:16:12.216714 IP 127.0.0.1.56962 > 127.0.0.1.12345: P 1:561(560) ack 1
win 46 
19:16:12.216766 IP 127.0.0.1.12345 > 127.0.0.1.56962: . ack 561 win 54 
19:16:22.219290 IP 127.0.0.1.12345 > 127.0.0.1.56962: P 1:97(96) ack 561
win 54 
19:16:22.219304 IP 127.0.0.1.12345 > 127.0.0.1.56962: P 97:193(96) ack
561 win 54 
19:16:22.219315 IP 127.0.0.1.12345 > 127.0.0.1.56962: F 193:193(0) ack
561 win 54 
19:16:22.219793 IP 127.0.0.1.56962 > 127.0.0.1.12345: . ack 97 win 46 
19:16:22.219805 IP 127.0.0.1.56962 > 127.0.0.1.12345: . ack 193 win 46 
19:16:22.219922 IP 127.0.0.1.56962 > 127.0.0.1.12345: F 561:561(0) ack
194 win 46 
19:16:22.219930 IP 127.0.0.1.12345 > 127.0.0.1.56962: . ack 562 win 54 

19:16:22.347796 IP 127.0.0.1.56963 > 127.0.0.1.12345: S
2122673751:2122673751(0) win 5840 
19:16:22.347809 IP 127.0.0.1.12345 > 127.0.0.1.56963: S
1067005881:1067005881(0) ack 2122673752 win 5792 
19:16:22.347998 IP 127.0.0.1.56963 > 127.0.0.1.12345: . ack 1 win 46 
19:16:22.348200 IP 127.0.0.1.56963 > 127.0.0.1.12345: P 1:561(560) ack 1
win 46 
19:16:22.348229 IP 127.0.0.1.12345 > 127.0.0.1.56963: . ack 561 win 54 
19:16:32.351143 IP 127.0.0.1.12345 > 127.0.0.1.56963: P 1:97(96) ack 561
win 54 
19:16:32.351157 IP 127.0.0.1.12345 > 127.0.0.1.56963: P 97:193(96) ack
561 win 54 
19:16:32.351167 IP 127.0.0.1.12345 > 127.0.0.1.56963: F 193:193(0) ack
561 win 54 
19:16:32.351575 IP 127.0.0.1.56963 > 127.0.0.1.12345: . ack 97 win 46 
19:16:32.351588 IP 127.0.0.1.56963 > 127.0.0.1.12345: . ack 193 win 46 
19:16:32.351688 IP 127.0.0.1.56963 > 127.0.0.1.12345: F 561:561(0) ack
194 win 46 
19:16:32.351696 IP 127.0.0.1.12345 > 127.0.0.1.56963: . ack 562 win 54 

19:16:32.477238 IP 127.0.0.1.56964 > 127.0.0.1.12345: S
2144987533:2144987533(0) win 5840 
19:16:32.477252 IP 127.0.0.1.12345 > 127.0.0.1.56964: S
1089971834:1089971834(0) ack 2144987534 win 5792 
19:16:32.477697 IP 127.0.0.1.56964 > 127.0.0.1.12345: . ack 1 win 46 
19:16:32.477724 IP 127.0.0.1.56964 > 127.0.0.1.12345: P 1:561(560) ack 1
win 46 
19:16:32.477731 IP 127.0.0.1.12345 > 127.0.0.1.56964: . ack 561 win 54 
19:16:42.480054 IP 127.0.0.1.12345 > 127.0.0.1.56964: P 1:97(96) ack 561
win 54 
19:16:42.480069 IP 127.0.0.1.12345 > 127.0.0.1.56964: P 97:193(96) ack
561 win 54 
19:16:42.480079 IP 127.0.0.1.12345 > 127.0.0.1.56964: F 193:193(0) ack
561 win 54 
19:16:42.480326 IP 127.0.0.1.56964 > 127.0.0.1.12345: . ack 97 win 46 
19:16:42.480342 IP 127.0.0.1.56964 > 127.0.0.1.12345: . ack 193 win 46 
19:16:42.480527 IP 127.0.0.1.56964 > 127.0.0.1.12345: F 561:561(0) ack
194 win 46 
19:16:42.480535 IP 127.0.0.1.12345 > 127.0.0.1.56964: . ack 562 win 54 

Это фича fastcgi,nginx'а или мои кривые руки? 
Помогите плиз.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,142755,142755#msg-142755




Подробная информация о списке рассылки nginx-ru