Appengine, снижение производительности с python27

Я хотел протестировать python27 на appengine, поэтому я перенес свое приложение с python25. Производительность снижалась более чем в 2 раза с каждым запросом! Затем я вернулся к python25, и производительность снова осталась прежней.Вот изображение:

enter image description here (миллисекунды / запрос) (cgi-обработчик python 27, затем python25)

Мое приложение использует Werkzeug , Jinja2 , а кэш памяти используется довольно часто . Какие причины могут вызвать такое резкое снижение производительности? Или это просто потому, что python2.7 в appengine все еще находится в стадии бета-тестирования?

Некоторые подробности о приложении:

Это довольно простой интернет-магазин. Есть несколько отложенных задач с генерацией pdf, но они не сильно влияют на общий график, потому что главная страница получает больше всего просмотров. Практически все размещено в memcached. Загрузка страницы с помощью python 2.5 занимает до ~ 0,8 секунды с пустым кешем. Некэшированные страницы загружаются долго, в основном из-за большого количества запросов к БД. Кешированные страницы загружаются за 60 ~ 100 мс. Среднее время загрузки ~ 150 мс. С питоном 2.7 производительность ужасна. Загрузка некэшированных страниц занимает 2+ секунды. Кешированные страницы загружаются за 200+ мс.

К сожалению, у меня нет данных профилирования, и я не могу сказать, что именно замедляет работу Python 2.7.

Мои цифры для времени загрузки страницы собираются с активной страницы, которая обслуживает ~ 10 запросов / сек, и 1 резидентный экземпляр python25 легко справляется с этой нагрузкой.

Я также тестировал python 2.7 с wsgi и threadsafe: да , но производительность немного улучшилась по сравнению с python 2.7 и cgi.

26
задан Ski 7 December 2011 в 10:41
поделиться