1
jjx 2014-11-12 09:30:36 +08:00
pypy要预热,需要先跑上万次请求
按说上pypy的不太会用django吧,对性能苛求第一关就把django给毙了 |
3
tini8 2014-11-12 09:34:34 +08:00
到底是什么项目能在语言上出现瓶颈?每当看到这种讨论的时候我都想像出一个日PV过亿的网站
|
6
ratazzi 2014-11-12 10:24:30 +08:00
兼容的,至少目前我们没遇到兼容问题,我们用 pypy 主要是后台运算,用 Django 是为了省事
|
7
jjx 2014-11-12 10:26:59 +08:00
@tabris17 我现在在测试环境中运行一个真实的cpython27项目,基于bottle+gevent +sqlalchemy+postgrsql+pypy,实测性能会高80%以上
|
10
glasslion 2014-11-12 12:01:53 +08:00
去年豆瓣洪教授在Pycon分享过 Django+Pypy的经验,最大的问题是纯Python的MySQL驱动
|
11
cctvsmg 2014-11-12 12:29:39 +08:00 2
可以用python27 + flask + gevent + pony orm + ultramysql实现前台,ultramysql是纯c++驱动 https://github.com/esnme/ultramysql, 这个框架兼顾开发效率和运行效率,我个人测试的这个在双核2.2ghz cpu上每个CPU 700rps, 每个请求才几毫秒 。
涉及到大量计算的的地方写扩展或者用pypy,这样做其实是很合理的,你要考虑到无论是pypy还是python都是只能在单核运行,多核情况下用gunicorn或者supervisor必然要启动多个进程,多个pypy如果再加载大量的库,最后内存可能会紧张,所以不如多个python web小进程+一个pypy后台进程。 当然,现在gevent也已经支持pypy, pypy + flask + gevent + pony orm运行也没问题, mysql驱动可以用纯python实现的驱动pymsql,这个也是pony orm原生支持的。 总之在实际进入瓶颈之前,不要先考虑性能问题...... |
13
wdlth 2014-11-12 12:47:55 +08:00
后台大量计算的一般是分离的吧,像搜索引擎,Web只是负责展示页面内容。难道你要在Web代码中直接做计算?
|