常用内存数据库介绍(六)
来源:互联网 发布:新手开淘宝要注意哪些 编辑:程序博客网 时间:2024/05/16 19:47
6. 性能测试
下面分别对SQLite和H2进行了性能测试
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语句
- 常用内存数据库介绍(六)
- 常用内存数据库介绍
- 常用内存数据库介绍
- 常用内存数据库介绍
- 常用内存数据库介绍
- 常用内存数据库介绍
- 常用内存数据库介绍
- 常用内存数据库介绍(四)
- 常用内存数据库介绍(五)
- 常用内存数据库介绍(七)
- 常用内存数据库介绍(八)
- 常用内存数据库介绍(四)
- (转载)常用内存数据库介绍(一)
- (转)常用内存数据库介绍(二)
- (转)常用内存数据库介绍(三)
- (转)常用内存数据库介绍(四)
- (转载)常用内存数据库介绍(五)
- 常用内存数据库介绍(一)
- 使用select
- 网络游戏相关的名词解释
- 常用内存数据库介绍(五)
- centos下yum安装apache+php的微博程序easytalk
- vs2008快捷键
- 常用内存数据库介绍(六)
- NPC GM和MMORPG的故事
- 今日e语-7月6日
- 网络游戏的众多游戏类型详细介绍
- 未来“神经中枢”藏在“云”里
- C++类的相关基础2
- 常用内存数据库介绍(七)
- MIPS 74K内核Interrupt Compatibility Mode处理方式
- 如何在首页中添加自己的frame