<html><body bgcolor="#FFFFFF"><div>Здравствуйте,<br><br>On 28.08.2010, at 2:16, ruslan usifov <<a href="mailto:ruslan.usifov@gmail.com">ruslan.usifov@gmail.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>Написал простейшее fcgi приложение, запускаеться так spawn-fcgi -s /tmp/python-fcgi.sock -u www -g www -n -- /usr/local/bin/python /root/test.py<br><br>import fastcgi;<br>import time;<br><br>def myapp(environ, start_response):<br>
write = start_response('200 OK', [('Content-Type', 'text/html; charset=utf-8')]);<br> lines = [];<br><br> time.sleep(30);<br><br> for k, v in environ.iteritems():<br> lines.append("<b>%s</b>: %s<br />\n" % (k, v));<br>
<br> return lines;<br><br>s = fastcgi.ForkingWSGIServer(myapp, 5);<br>s.serve_forever();<br><br>И запустил 6 параллельных запросов (<a href="http://app.test/"><a href="http://app.test/">http://app.test/</a></a>), и с удивлением обнаружил accept в fastcgi сервере не был вызван одноврменно 6 раз, а был выполнен строго последовательно. Т.е запросы ушли параллельно а accepts выполнились один за другим в результате последний 6-й запрос выполнялся не 30 секунд и 30*6 секунд. Собственно говоря вопрос почему так происходит? </div></blockquote><div>Таки потому, что вы запустили только один процесс со скриптом.</div><div><br></div><div>Выполните строку с spawn-cgi несколько раз и увидите параллельность. </div><br><blockquote type="cite"><div>Проверял apache mod_fastcgi поступает точно также.<br>
<br>Конфигурация nginx такая:<br><br> server<br> {<br> listen 80;<br> server_name app.test;<br><br> location /<br> {<br> fastcgi_pass unix:/tmp/python-fcgi.sock;<br> include fastcgi_params;<br>
}<br> }<br><br>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>nginx-ru mailing list</span><br><span><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a></span><br><span><a href="http://nginx.org/mailman/listinfo/nginx-ru">http://nginx.org/mailman/listinfo/nginx-ru</a></span><br></div></blockquote></body></html>