Hello sjsoft,
snr> Я с вами полностью и категорично не согласен. Боюсь вы все-же
поверхностно ознакомились с моей
snr> проблемой.
на nginx запросы от бровсера по одному keepalive соединению приходят
ПОСЛЕДОВАТЕЛЬНО, он их также
ПОСЛЕДОВАТЕЛЬНО посылает на backend. если бы nginx умел говорить с backend по
keepalive то всего на
всего не было бы лишних open/close между nginx и backend.
snr> Юзеры посылают по 3 запроса, на одном keep-alive соединении
snr> USER1<-ka-> NGINX <-cc-> BACKEND thread 1 (wrk with table 1)
snr> <-req-> <-cc-> BACKEND thread 2 (blocked on mutex table 1)
это не правильно. req не пойдет (его бровсер не пошлет) пока не отработает
первый и USER1 не получит
свой ответ. то что бровсер МОЖЕТ открывать несколько соединений (в том числе
и keepalive) это уже
другая история. то что вы хотите keepalive между nginx и backend не
решает, а решает busy lock
(которые есть в mod_accel) и которых пока нету в nginx.
P.S. еще есть HTTP Pipelining
http://www.mozilla.org/projects/netlib/http/pipelining-faq.html
вот оно как раз работает почти так как вы написали.
--
Best regards,
Andrew mailto:sitnikov@xxxxxxxxxx