您的位置:首页 > 其它

Sequoiadb1.10集群性能测试报告

2015-05-27 16:16 337 查看


目录
1. 测试产品
3
2. 测试环境
3
3. 测试数据
3
4. 测试场景
4
4.1. 单进程顺序写(开启事务,逐条提交)
4
4.2. 单进程随机写(开启事务,逐条提交)
5
4.3. 单进程顺序写
5
4.4. 单进程随机写
6
4.5. 单进程批量写(每次2000条记录)
6
4.6. 多进程写(2进程,非批量)
7
4.7. 多进程写(4进程,非批量)
7
4.8. 多进程写(9进程,非批量)
8
4.9. 单进程顺序读(逐条读)
8
4.10. 单进程随机读(逐条读)
9
4.11. 单进程全表扫描(无条件query)
9
4.12. 多进程随机读(2进程,逐条读)(2节点)
10
4.13. 多进程随机读(4进程,逐条读)(2节点)
10
4.14. 多进程随机读(8进程,逐条读)(2节点)
11
4.15. 多进程随机读(8进程,逐条读)(4节点)
11
4.16. 单进程顺序更新(逐条更新)
12
4.17. 单进程随机更新(逐条更新)
12
5. 测试结果
12
6. 测试总结&分析
13












1. 测试产品

产品名称:sequoiadb
产品版本:社区版 1.10

2. 测试环境

l Linux ocsdev103 2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

l 16核心,内存:64G

l Sequoiadb1.10 测试应用驱动:C++

l Sequoiadb 集群部署
n 物理主机:两台
n 协调分组:I个,两节点
n 编目分组:1个,两节点
n 数据分组:1个,两节点(案例4.15增加到4节点)
n PageSize
:65536
n ReplSize
:1

3. 测试数据

单行记录大小:200字节
写案例中
记录总数:100W
总大小 :200M
读案例中
记录总数:10000W
总大小 :2G
更新案例中
记录总数:10000W
总大小 :2G

记录案例:
{
"_id": {
"$oid": "54d2d1d65b97b25115000000"
},
"acc_no": 13000000000,
"session_id": "sid:10000000",
“stutas”:10000000,
"context": "asdadasdadsaasdadasdadsadsadasdadasdadsadsadasdadasdadsadsaddsad"
}

4. 测试场景

场景说明:
1. 没特殊说明的,默认采取无事务模式;

4.1. 单进程顺序写(开启事务,逐条提交)

平均值:2109条/秒

4.2. 单进程随机写(开启事务,逐条提交)

平均值:2004条/秒

4.3. 单进程顺序写

平均值:6250条/秒

4.4. 单进程随机写

平均值:5692条/秒

4.5. 单进程批量写(每次2000条记录)

平均值:40160条记录/秒



4.6. 多进程写(2进程,非批量)

平均值:10094条记录/秒

4.7. 多进程写(4进程,非批量)

平均值:18068条记录/秒

4.8. 多进程写(9进程,非批量)

平均值:19584条记录/秒

4.9. 单进程顺序读(逐条读)

平均值:3189条记录/秒

4.10. 单进程随机读(逐条读)

平均值:2539条记录/秒

4.11. 单进程全表扫描(无条件query)

平均值:544623条记录/秒


4.12. 多进程随机读(2进程,逐条读)(2节点)

平均值:5016条记录/秒

4.13. 多进程随机读(4进程,逐条读)(2节点)

平均值:8961条记录/秒

4.14. 多进程随机读(8进程,逐条读)(2节点)

平均值:13321条记录/秒

4.15. 多进程随机读(8进程,逐条读)(4节点)

平均值:12366条记录/秒

注备:基于sequoiadb的读写分离机制,理论上4节点的整体读性能应该高于2节点的,但测试结果与之不符。原因待分析,猜想可能原因:
1. 只是单纯的增加节点,没有增加物理主机,局限于系统IO
2. Sequoiadb相关配置;

4.16. 单进程顺序更新(逐条更新)

平均值:4147条记录/秒

4.17. 单进程随机更新(逐条更新)

平均值:4019条记录/秒

5. 测试结果

l 针对单纯写场景,Sequoiadb性能较高。单线程处理能力达到6000次/秒,结合《hbase集群读写性能测试报告_V2.0.doc》及网络数据,Sequoiadb单纯写性能均优于Hbase、MongoDB等同行数据库;
l 针对批量写场景,Sequoiadb性能同样优于Hbase、MongoDB等同行数据库;
l 多线程同时写的场景中,当线程数较少时,整体写性能与线程数成正比,当整体性能达到20000次/每秒后,不再上升;

l 针对单纯读场景,Sequoiadb与Hbase性能十分接近,结合网络数据,Sequoiadb单纯读性能劣与MongoDB;
l 无条件全表扫描场景中,性能较优,达到50W记录/秒;

l Sequoiadb写性能 > Sequoiadb更新性能 > Sequoiadb读性能;

6. 测试总结&分析

l 相对MongoDB,Sequoiadb大大提升了其插入性能;
l 虽然Sequoiadb没有提供MongoDB、HBase相应的缓冲池技术,但是其相应的批量导入性能也并不逊色于MongoDB、HBase,可见操作系统内核自带的文件缓冲技术并不逊色于MongoDB、HBase特有的缓冲池;
l 多线程同时写场景中,在线程数为4个以后整体性能就难以提升,猜测性能可能局限于磁盘IO。后续修改PageSize大小再行测试验证;
l 多线程同时读场景中,增加分组内节点数并没有明显提升整体性能,与预期结果不一致,待后续分析;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: