性能笔记2

来源:互联网 发布:有声阅读软件哪个好 编辑:程序博客网 时间:2024/04/29 09:59

memcached>redis >Tokyo Tyrant>>>MongoDB>mysql


1,以上测试并不完善,只是一个开始,比如没有测试小数据(以数字作为key,100字节Value),没有测试较大的数据(20K左右);没有测试在命中情况下的性能;没有测试并发读写的性能,据闻MongoDB的并发读写效率不是特别出色,MongoDB的特色在于支持的查询语言非常强大

2,TC/TT在mixi的实际应用当中,存储了2000万条以上的数据,同时支撑了上万个并发连接,是一个久经考验的项目。TC在保证了极高的并发读写性能的同时,具有可靠的数据持久化机制
3,MongoDB实际上是一个简化版的MySQL,Mongodb的接口实际上就是类似给SQL做个封装而已。Mongodb只能支持简单的单一查询 语句,不能join,不能子查询。实际性能MySQL和Mongodb差不多,MySQL在高并发的情况下性能不太好,MongoDB会好很多。
Redis读写性能都非常强悍,但是存储数据的容量受限于内存容量。支持Lists类型和Sets类型的数据,2.0增加了更多数据类型。相当于是一个支持持久存储的memcache。
tokyotyrant也是是一个高性能的存储引擎,性能非常出色,每秒可以处理4-5万次读写操作。TT不是内存映射的模式,主要是文件系统存储为主。吃内存少一些。TC除了支持Key-Value存储之外,还支持保存Hashtable数据类型,表结构TokyoTyrantTable,支持列,表,字段,索引,支持query查询。
memcached:设定最大内存占用,最久不使用自动过期,高读写性能,适合最缓存。
redis:拥有memcached的优点,储存数据支持list,适合做队列。是否可以替代memcached我还在考虑。
mongodb:模式自由,容易搭建分布式群集,适合做储存。
mongodb 写入: 1秒900,分配DB空间的时候插入操作被冻结 1秒300
        读取:1秒500-600

redis 写入:1秒1000
      读取:1秒500-600

Tokyo Tyrant 写入: 1秒800
             读取: 1秒300-400
3,
a1.业务系统的关联关系用mysql组织
a2.缓存数据用memcached、redis存取
a3.大文本数据放进mongodb存取中
a4.数据统计计数增加阀值功能
用mysql将memcached、redis、mongodb三者结合起来,
根据实际业务需要看一下哪些适合memcached、redis缓存存取,哪些适合mongodb存取.
核心架构:
1)、应用系统框架架构
2)、数据库系统业务架构

是影响项目成功失败的关键
0 0
原创粉丝点击