打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
常用内存数据库介绍(六)

 

6.  性能测试

下面分别对SQLiteH2进行了性能测试

 

6.1               SQLite测试方案

6.1.1   测试环境

       主机:    操作系统:    Windows XP;

CPU    Intel Dual 2.2GHZ;

内存:    1.99GB内存

       测试目标版本:SQLite 3.6.12

      

6.1.2   测试数据

测试数据库表ip_table结构如下

 

字段名

类型

Id(PK)

Integer

Dst_ip

Varchar(20)

Agent_ip

Varchar(20)

Dst_mac

Varchar(20)

Dst_port

Integer

Dst_vlan

Varchar(20)

 

 

6.1.2   测试过程

使用C++编写了测试工程,启动测试程序后,先分别插入50000条和1000000条数据,然后执行一系列的测试

6.1.3   测试结果

 

用例名

5w(条)单个线程

100w(条)单个线程

100w(条)10个并发线程

初始插入时间

2s

45s

 

初始插入时间(不加索引)

1.782s

38.109s

 

插入1条记录

100纳秒以内

100纳秒以内

0.0016s

插入1000条记录

0.047s

0.047s

0.453s

插入1000条记录(无索引)

0.6s

1s

11.39s

查询一条记录

100纳秒以内

100纳秒以内

0.0033s

查询一条记录(不使用索引)

0.016s

0.375s

2.859s

查询1000条记录

0.016s

0.391s

2.828s

查询1000条记录(不使用索引)

0.015s

0.375s

2.906s

查询全部记录分组统计Group by

0.688s

15.473s

 

查询1000 条(结果排序 )

0.031s

0.39s

2.453s

查询所有记录(结果排序)

0.766s

16.203s

33.594s

更新一条记录

100纳秒以内

100纳秒以内

0.0043s

更新一条记录(不使用索引)

0.016s

0.359s

2.719s

更新10000条数据

0.062s

0.047s

 

更新10000条数据(无索引)

0.016s

0.375s

2.719s

删除一条数据

100纳秒以内

100纳秒以内

0.0041s

删除一条条数据(无索引)

0.125s

5.047s

 

删除10000条数据

0.078s

0.078s

 

删除10000条数据(无索引)

79-125ms

5.031s

 

结论:

1.       SQLlite内存数据库的处理速度很快;

2.       SQLlite内存数据库在查找数据时有索引的情况下,查询、更新、删除速度快;

3.       SQLlite内存数据库并发性比较差,可以认为并发能力为0

4.       SQLlite内存数据库占用内存空间,100w条数据在40M左右(创建单个索引,6个字段)

5.       针对数据流探针来说,5w条数据SQLlite归并的速度在0.688s,可以尝试将部分功能用数据库归并实现。

6.       SQLLite支持自定义函数,效率没有测试,应该和他提供的API效率差不多

7.       SQLLite支持复合sql语句

 

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    【热】打开小程序,算一算2024你的财运
    常用内存数据库介绍(八) - titan - JavaEye技术网站
    Home
    互联网利器 Redis内存数据库性能评测
    数据库什么时候会产生死锁?
    MongoDB数据文件内部结构
    VFP命令全集_知识交流
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服