内容简介:分别从100W、500W、1000W的写入、查询、删除次数及耗时,计算对应的每次操作耗时平均数,用以衡量性能。需要注意的是,1、为方便测试,使用的数据是按照 Key: key_xxx => Value: value_xxx 顺序递增的,而不是使用的随机数据,因此对于leveldb和boltdb来说性能会有所提高,但不影响大概的测试结果;
分别从100W、500W、1000W的写入、查询、删除次数及耗时,计算对应的每次操作耗时平均数,用以衡量性能。
需要注意的是,
1、为方便测试,使用的数据是按照 Key: key_xxx => Value: value_xxx 顺序递增的,而不是使用的随机数据,因此对于leveldb和boltdb来说性能会有所提高,但不影响大概的测试结果;
2、以下的时间单位为微秒(μs),1微秒(μs)=0.001毫秒(ms)=0.000001秒(s);
3、性能测试的代码在 这里 ;
测试环境
系统:Ubuntu Desktop 14.04.5 x64 LTS
芯片:Intel(R) Core(TM) i7-7700K
硬盘:Intel SSD 256G
内存:8G
软件:gkvdb v1.0
测试结果
性能对比:gkvdb、leveldb、boltdb
主要注意的是leveldb和boltdb都使用了mmap来加速数据读取,因此在读取性能上不存在缓存不缓存的区别。
gkvdb采用的是纯 go 语言开发,没有使用特定性的系统功能,包括mmap,因此gkvdb的跨平台性很好,但是在读取性能上却做了一定牺牲,不过通过良好的算法和IO设计弥补了这块性能损失,因此在非缓存模式下,读取性能也非常优异。
以上所述就是小编给大家介绍的《gkvdb的性能测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 微服务测试之性能测试
- Go 单元测试和性能测试
- 性能测试vs压力测试vs负载测试
- SpringBoot | 第十三章:测试相关(单元测试、性能测试)
- Golang 性能测试 (2) 性能分析
- 随行付微服务测试之性能测试 原 荐
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。