1
sujin190 2016-06-08 12:57:36 +08:00
当时看源代码的时候确实发现很不错,自己用相同的方式实现了一个 mysql 的
https://github.com/snower/TorMySQL 不过貌似 tornado 的 iostream 的读写性能其实很低,对于 mongodb 和 mysql 这种网络读写过程相对稳定的协议来说实在太慢了,我自定义实现 iostream ,简化读写过程之后,性能提升相当明显, pypy 上更快,现在两个都用在生产环境,单机数千并发妥妥的,可惜就是数据库有点扛不住。。 |
2
xiaolee59 OP @sujin190 会好好拜读下你的项目,试用了下,发现确实不错。
我们在 Tornado 中使用异步非阻塞的数据库驱动并非为了能达到多高并发性能,主要是当 DB 团队不是很靠谱的时候,不想让数据库 IO 成为瓶颈,单线程的服务最好不要有任何阻塞等待的情况。 Tornado 作者的博客里针对数据库这块儿也是建议让数据库足够快,如果数据库本身很慢,即使使用异步,也不会带来多高的平均读写性能。 |
3
sujin190 2016-06-08 16:56:01 +08:00 1
@xiaolee59 其实理想状况来说,确实使用异步增加了开销,但好处确实有着极强的适应力,大多数情况不会出现所有请求无法处理的情况,我们在使用中也遇到了很多坑,也是通过各种坑不断求其进行调整,最终现在终于很好用了,调试的时候确实很纠结,现在调好了确实很好用
|