我想在appengine上测试python27,所以我从python25迁移了我的应用程序.每个请求的性能都要慢2倍!然后我又回到了python25,性能再次像以前一样.这是一张图片:
(毫秒/请求)(cgi处理程序python 27,然后是python25)
我的应用程序使用Werkzeug,Jinja2,并且使用了很多memcache.什么原因会导致性能急剧下降?或者仅仅是因为appengine上的python2.7还处于测试阶段?
关于申请的一些细节:
这是一个非常简单的网上商店.有一些延迟的任务与pdf生成,但这些不会影响整体图形,因为首页获得最多的命中.几乎所有内容都是memcached.使用python 2.5加载页面时,空缓存需要约0.8秒.非缓存页面加载时间很长,主要是因为有很多数据库查询.缓存页面加载时间为60~100 ms.平均加载时间约为150毫秒.用python 2.7表现很糟糕.非缓存页面需要2秒以上才能加载.缓存页面加载时间超过200毫秒.
不幸的是我没有任何分析数据,我无法分辨python 2.7中究竟是什么减慢了.
我的页面加载时间数据是从实时页面收集的,该页面提供~10 req/sec和1个常驻python25实例,可以轻松处理此负载.
我还用wsgi测试了python 2.7 threadsafe:yes,但与python 2.7和cgi相比,性能提升了一点点.