`
xiaoZ5919
  • 浏览: 399968 次
  • 性别: Icon_minigender_1
  • 来自: 安平人@北京
博客专栏
Group-logo
Netty学习笔记
浏览量:72719
社区版块
存档分类
最新评论

写给《数据库引擎 CoolHash 性能测试报告》

 
阅读更多
   首先第一眼印象,单机使用磁盘IO的话能支持100w qps。我只能说这是神一样的开源了。
首先来看一个概念IOPS,每秒的IO次数,内存大概是1000w,SSD盘 35000,sas盘180,stat盘90
这些数据我摘抄自《大规模分布式存储系统》,180的IOPS如何能支持100w的qps,还有CoolHash如果在一台机器上开启多个工人是并发随机IO,还是工人只负责写入内存,再用另外的线程负责将所有数据写磁盘,这样是顺序IO,大部分KV存储都是这样搞的,包括leveldb和beansdb。如果说180的IOPS能支撑100wqps,那我只能说Coolhash将sas演绎的太神奇了,CoolHash是神一样的开源产品了。

   那先来看看这个http://xiaoz5919.iteye.com/blog/2072209,这这是简单的100并发100w请求,就抛出了异常,你benchmark都没有测试用例建议把测试用例和过程贴出而不是redis相比。
   page cache我想大家都很熟悉吧linux的write是buffered write,首先写到page cache中,然后再后台进程刷到磁盘,写入成功了并不会将该page删除,以便以后提升read的性能,直到内存紧张才做LRU淘汰,这么看来内存充足的情况下,write和read都是在内存中完成的,而不走磁盘IO。rocksdb的benchmark提到了,如果测试的数据量规模大小小于内存,那全部的读写都在pagecache中就完成了,而不走真正的磁盘IO,你用小内存试试,或者把测试的datasize调大,rocksdb的作者说最好用5倍于内存的数量。

使用datasize 只有几个bytes的测试几乎没有太大的意义
 
分享到:
评论
1 楼 cwqcwqmax9 2014-07-16  
不错  要测试  就要 排除一切外部可能 影响测试结果的因素  ,做到单一关联性

相关推荐

Global site tag (gtag.js) - Google Analytics