Сервер пирамиды на vmware очень медленно отвечает

Прежде всего, я новичок в Python и Pyramid framework.

У меня есть:

  • Win7 на моем хосте
  • Debian 6 на моем гостевом компьютере vmware
  • Python 2.6 на машине Debian
  • Пирамида 1.3 на машине Debian

Я создал виртуальную среду с помощью virualenvwrapper и теперь запускаю пример Hello world отсюда http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/firstapp.html#firstapp-chapter

Проблема в том, что когда я запрашиваю http://localhost:8080/hello/world на машине Debian, все работает отлично. Но когда я запрашиваю http://192.168.25.129:8080/hello/world с моего хоста Win7 машине требуется 5-7 секунд, чтобы получить ответ от сервера (192.168.25.129 это IP-адрес vmware, подключенный через NAT). Я не могу найти причину, почему это занимает так много времени.

Я также установил «apache2» на машину Debian, чтобы проверить скорость запроса, и обнаружил, что ответ apache занимает максимум 1 секунду. Так это проблема Python или Pyramid? Как уменьшить время отклика сервера Pyramid?

PS: извините за плохой английский :)


person Serg    schedule 30.03.2012    source источник


Ответы (2)


Насколько я знаю, сам Pyramid обеспечивает только отладку веб-сервера. Это действительно очень медленно. Для производства вы можете использовать веб-сервер «официантки». Это намного быстрее.

person werewindle    schedule 30.03.2012
comment
Сама Pyramid поставляется без веб-сервера. Его леса используют официантку по умолчанию, пока вы не измените ее. :-) - person Michael Merickel; 30.03.2012
comment
В учебниках @MichaelMerickel Pyramid предлагается использовать wsgiref.simple_server :), и Серг сказал, что он использовал пример из учебника. - person werewindle; 30.03.2012
comment
Ах, я забыл об этом глупом учебнике, все остальные используют официантку. Да, wsgiref.simple_server находится в stdlib python, является однопоточным и никогда не должен использоваться ни для чего, кроме демонстрации. - person Michael Merickel; 30.03.2012
comment
Благодарю вас! Сменил сервер на официантку и скорость запросов увеличилась в разы! - person Serg; 02.04.2012

Эта проблема, вероятно, очень мало связана с python или пирамидой и гораздо больше связана с конфигурацией вашей виртуальной машины. Если вы действительно хотите увидеть, что делает пирамида, вы можете включить профилировщик производительности на панели инструментов отладки и узнать, где в запросе что-то занимает много времени. Если на стороне пирамиды запроса нет ничего медленного, то вы знаете, что это до/после, и вы можете посмотреть на настройку системы, сервер wsgi и промежуточное программное обеспечение.

person Michael Merickel    schedule 30.03.2012