2012-03-30 3 views
2

Прежде всего я новичок в структуре Python и Pyramid.Сервер Pyramid на vmware реагирует очень медленно

у меня есть:

  • Win7 на моем хосте
  • Debian 6 на моем VMWare гость
  • Python 2.6 на машине Debian
  • Pyramid 1,3 на машине Debian

я создал virual environment, используя «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 thi - это vmware ip-адрес, подключенный через NAT). Я не могу найти причину, по которой требуется столько времени.

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

PS: извиняюсь за плохой английский :)

ответ

3

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

+0

Пирамида сама не имеет веб-сервера. Его леса используют официантку по умолчанию, пока вы ее не измените. :-) –

+1

@MichaelMerickel Pyramid tutorials предлагает использовать 'wsgiref.simple_server' :), и Серг сказал, что он использовал пример из учебника. – werewindle

+0

А я забыл об этом глупом учебнике, все остальные используют официантку. Да, 'wsgiref.simple_server' находится в python stdlib и является однопоточным и никогда не должен использоваться ни для чего из демонстрации. –

1

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

Смежные вопросы