Benchmark测试

  ·测试环境

  本次测试使用的软硬件环境如下:

  硬件配置:Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz,4核8线程, 内存8GB。

操作系统: Redhat Enterprise Linux 6.0 X64。

 ·测试假定

  本次测试为充分展示内存数据库的性能,使用eXtremeDB的纯内存方式,并且使用eXtremeDB最快的接口――本地API接口以本地嵌入直连方式完成测试。

·数据结构

class Record
{
       uint4 id;
       uint4 i1;
       uint4 i2;
double d1;
double d2;
       char
< 30 > s1;
       char
< 30 > s2;
       list;
       unique hash
< id > hkey[ 10000000 ];
       tree
< id > tkey;
};

  插入测试

  ·单线程

  首先进行单线程的插入测试,向数据库中插入10000000条记录,性能如下:


线程ID

记录数

耗时(毫秒)

1

10000000

27286

每条记录所花费的时间(微秒)

2.7286

每秒吞吐率(object/s)

366488.3090


  单线程插入10000000条记录的耗时为27秒,每条记录的花费时间为2.7微秒,每秒处理的记录数为36万。

·4线程

  之后我们增加线程数为4.

  四个线程同时插入10000000条记录,性能如下:


线程ID

记录数

耗时(毫秒)

1

2500000

12324

2

2500000

12929

3

2500000

13082

4

2500000

13158

插入10000000条记录所花费的总时间(秒)

12.87325

每条记录所花费的时间(微秒)

1.287325

每秒吞吐率(object/s)

776804.6142


  四个线程插入10000000条记录的总耗时为12.8秒,平均每条记录耗时1.28微秒,每秒处理77万条数据。

·8线程

  最后是8个线程的插入测试。

  插入测试是通过8个线程,向数据库中添加10000000条记录,每个线程的性能和总体性能如下:


线程ID

记录数

耗时(毫秒)

1

1250000

13641

2

1250000

14134

3

1250000

14173

4

1250000

14189

5

1250000

14214

6

1250000

14398

7

1250000

14407

8

1250000

14423

插入10000000条记录所花费的总时间(秒)

14.19738


每条记录所花费的时间(微秒)

1.419738

每秒吞吐率(object/s)

704355.5587


  可以看到8个并发写入10000000条记录所花费的时间大概为14秒,平均每秒可以添加70万条记录。

 ·总结

  插入操作的总体吞吐率:

eXtremeDB内存库评测:Benchmark测试

  可以看到,插入操作的性能,4个线程并发操作时,吞吐率最大。

测试方法:http://tech.it168.com/a2012/1030/1415/000001415603_all.shtml