IBM AIX 服务器上
<
一
>
利用
SUBSQL
接口手工进行测试
----------<Some test Data>-----------------------------------------
1.Record(int4,char const*)
dbDatabase db(dbDatabase::dbAllAccess, 16*1024); // 96Mb page pool
Insert 50000 records,elapsed time: 1 seconds
Insert 100000 records,elapsed time: 2 seconds
insert 1000000 records,elapsed time: 9 seconds
Insert 10000000 records,elapsed time: 120 seconds
dbDatabase db(dbDatabase::dbAllAccess, 160*1024); // 960Mb page pool
Insert 50000 records,elapsed time: 1 seconds
Insert 100000 records,elapsed time: 1 seconds
Insert 1000000 records,elapsed time: 8 seconds
Insert 10000000 records,elapsed time: 124 seconds
dbDatabase db(dbDatabase::dbAllAccess, 160*1024); // 960Mb page pool
db.setConcurrency(10);
Insert 10000000 records,elapsed time: 116 seconds
然后导入数据(
INFO_GSM, BILL_DATA
,
USER_SPECIAL_NUMBER
)【来源于
172.18.1.30
数据库】
Update 100000 records,elapsed time: 1 seconds
Update 1000000 records,elapsed time: 9 seconds
Query 1000000 records,elapsed time: 2 seconds
(多重查询条件)
Query 10000000 records,elapsed time: 1 seconds
(唯一值查询条件)
以上初略的数据可以看出来(服务器响应慢),其速度比普通磁盘数据库是高出至少一个数量级的。
<
二
>
代码测试(效率上基本不存在问题,主要是安全性能测试)
自编代码测试:
FTP::172.18.34.168\/data0/ibas/jianguoh/fastdb/examples/FastdbTest.cpp
源码如右:
数据库文件:
FTP::172.18.34.168\/data0/ibas/jianguoh/fastdb/ FastdbTest.fdb
1、
Complex and Large transaction processing
多次对于大规模的数据进行增,删,查,改后进行事务处理,没有发现异常。(跑的测试代码)
(
先查询,然后更改,然后插入部分记录,最后再有选择地删除部分数据
)
2、
Concurrent transaction’s Safe
Concurrent Threads can run safely in my lots of tests!(
一
Update
模式进程和大量
ReadOnly
模式线程(同一个进程)并发操作
)
<
三
>
因为对于开源代码测试我们没有任何规范和流程,测试只能够依靠测试者自己当时的想法和定义来测
附:
本来就很好的内存机制,再加上多种高性能的查询优化技术,其效率应该是没什么问题了。
以下是一国外文献上更翔实直观的深度效率测试报告图:(其中
MS-SQL
指的是
Microsoft SQL
Server
2000
磁盘数据库
)