tornado IOStream 在 pypy 下面真是慢啊,自定义 IOStream 后, mysql 异步 drive 性能提高一倍

2016-04-29 13:33:53 +08:00
 sujin190

在 TorMySQL 自定义了 IOStream ,简化读写,性能提高明显啊,单进程破万查询了,查询一条记录,两个字段, i5cpu

python2.7 tormysql 0.2.2

2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
tormysql 0.2.2
result: 21.210777998s 100199 4723.96606595/s

pypy5.0 tormysql 0.2.2

2.7.10 (bbd45126bc69, Mar 18 2016, 21:35:08)
[PyPy 5.0.1 with GCC 4.8.4]
tormysql 0.2.2
result: 11.9937579632s 100199 8354.26080644/s

python2.7 tormysql 0.2.3

2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
tormysql 0.2.3
result: 18.6732668877s 100199 5365.90627675/s

pypy5.0 tormysql 0.2.3

2.7.10 (bbd45126bc69, Mar 18 2016, 21:35:08)
[PyPy 5.0.1 with GCC 4.8.4]
tormysql 0.2.3
result: 7.02699589729s 100199 14259.1477592/s

也顺便是下 Tornado_MySQL 吧

python2.7 tornado_mysql 0.6.3

2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
tornado_mysql (0, 6, 3, None)
result: 50.5161859989s 100199 1983.50287178/s

pypy5.0 tornado_mysql 0.6.3

2.7.10 (bbd45126bc69, Mar 18 2016, 21:35:08)
[PyPy 5.0.1 with GCC 4.8.4]
tornado_mysql (0, 6, 3, None)
result: 12.247661829s 100199 8180.9968844/s
3813 次点击
所在节点    Python
5 条回复
tinyproxy
2016-04-29 18:12:35 +08:00
你拿 cpython 对比过么?印象中 tornado 有 c 模块用来加速的
sujin190
2016-04-29 20:27:45 +08:00
@tinyproxy 这比较的不就是 cpython 和 pypy 么?
zjxubinbin
2016-04-30 01:21:52 +08:00
无感~已经转到 Rust 了
jamiesun
2016-04-30 17:17:23 +08:00
tornado 性能不如 cyclone ( twisted ),用 pypy 加速后, tornado 更是不行。
sujin190
2016-05-02 19:34:05 +08:00
@jamiesun tornado coroutine 确实很慢,我不知道 twisted 的 coroutine 具体是怎么实现的,但不管怎么说,估计都差不多,除非完全使用语言层面的 coroutine ,否则很难有大的性能提升吧, tornado 用 pypy 加速后其实已经可以了,完全不依赖后端数据库的估计也不会用 python ,否则这么高的并发完全可以耗尽后端性能了吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/275303

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX