Mongodb 性能测试
测试硬件环境 MacPro
- 处理器名称: Intel Core i7
- 处理器速度: 2.5 GHz
- 处理器数目: 1
- 核总数: 4
- L2 缓存(每个核): 256 KB
- L3 缓存: 6 MB
- 内存: 16 GB
测试软件环境
- MongoDB v3.2.4
- 300W存量数据
1.1 单条插入性能测试
插入数据大小30字节
| 插入条数(单位:万) | 耗时(单位:毫秒) |
|---|---|
| 1 | 999 |
| 2 | 2176 |
| 5 | 5140 |
| 10 | 10198 |
结论:在当前测试环境下每秒写入速度为1万
1.2 单条读取性能测试
测试语句
db.follower.find({'user_id':1000069, 'follower_id': 1000089}).Limit(1)
| 读取条数(单位:万) | 耗时(单位:毫秒) |
|---|---|
| 1 | 1227 |
| 2 | 2383 |
| 5 | 6024 |
| 10 | 12196 |
结论: 每秒读取速度 8000
1.3 分页读取性能测试——采用Skip实现
测试语句
mg.C("follower").Find(condition).Sort("-_id").Skip(10000).Limit(10).All()
按照每页10条计算
| 功能场景 | 耗时(单位:毫秒) |
|---|---|
| 读取10000条之后的 10条数据 | 15 |
| 读取50000条之后的 10条数据 | 70 |
| 读取100000条之后的 10条数据 | 140 |
结论:
随着查询偏移量的上升(1w, 5w, 10w),查询耗时出现线性增长。尽量避免使用 Skip 做为分页策略
1.4 批量写入性能测试
插入数据大小30字节
| 一次插入条数 | 耗时(单位:毫秒) | 速度 (单位: 毫秒/条) |
|---|---|---|
| 5000 | 80 | 0.016 |
| 2000 | 32 | 0.016 |
| 1000 | 18 | 0.018 |
| 100 | 2.15 | 0.0215 |
结论:批次插入越多,单位时间越少
作者:baboon
链接:https://www.jianshu.com/p/c1ba8c45e6bf
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Mongodb 性能测试的更多相关文章
- mongodb性能测试:long时间戳与string格式时间
string格式时间写入数据: { "_id" : ObjectId("5d314731a96f332d6c3193d4"), "news_id&qu ...
- springmvc+mongodb+maven 项目测试代码
你看我有一篇文章配置,或许还会有.mongodb性能测试结果.一个"快"字 源代码包,请留下邮箱 代码结构图 watermark/2/text/aHR0cDovL2Jsb2cuY3 ...
- 一些应该使用mongodb或者其他文档存储而不是redis或mysql、oracle json的情形(最近更新场景)
通常来说,我们应该使用应用的特性而不是自己的爱好或者规定而去选择一种合适的组件,选择的标准应该是这个组件最适合或者本身其设计就是为了解决这个问题,而不是这个组件能够做这事情为标准.就拿存储来说,任何时 ...
- iBoxDB的学习与使用
1. 引言 一次偶然的机会接触到了iBoxDB这样一个小型的嵌入式对象数据库.感觉非常惊讶有这样轻巧的数据库.iBoxDB 本身是一个NOSQL 同时也有关系数据库的特点. 说说iBoxDB的优点: ...
- Mongodb学习笔记三(Mongodb索引操作及性能测试)
第三章 索引操作及性能测试 索引在大数据下的重要性就不多说了 下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载.官网下载地址:http://www.robomo ...
- Mongodb亿级数据量的性能测试
进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目: (所有插入都是单线程进行,所有读取都是多线程进行) 1) 普通插入性能 (插入的数据每条大约在1KB左右) 2) 批量插入性能 ...
- mongodb 3.0 WT 引擎性能测试(转载)
网上转载来的测试,仅供参考.原文地址:http://www.mongoing.com/benchmark_3_0 类机器. 测试均在单机器,单实例的情况下进行. 机器A(cache 12G,即内存&g ...
- NoSQL性能测试:MongoDB VS SequoiaDB
作 为NoSQL的一个重要类型,文档型NoSQL通常被认为是最接近传统关系型数据库的NoSQL.文档型NoSQL的核心是数据嵌套,这种设计可以从某种 程度上大大简化传统数据库复杂的关联问题.同时由于摆 ...
- MongoDB 模糊查询,及性能测试
var mongodb = new MongoClient("mongodb://127.0.0.1:27017");//MongoServer.Create();//创建链接 v ...
随机推荐
- JavaScript实现的发布/订阅(Pub/Sub)模式
JavaScript实现的发布/订阅(Pub/Sub)模式 时间 2016-05-02 18:47:58 GiantMing's blog 原文 http://giantming.net/java ...
- vue 全局filter的坑
下面连段代码的filter放在不同的位子会有不同的效果, 1.filter放在new vue之后,居然不起作用 <script> new Vue({ el: '#app', data: { ...
- [Codeforces600E] Lomsat gelral(树上启发式合并)
[Codeforces600E] Lomsat gelral(树上启发式合并) 题面 给出一棵N个点的树,求其所有子树内出现次数最多的颜色编号和.如果多种颜色出现次数相同,那么编号都要算进答案 N≤1 ...
- 1-for循环套生成器的面试题
参考自: https://www.cnblogs.com/shuimohei/p/9686578.html https://segmentfault.com/a/1190000016577353 题目 ...
- D Dandan's lunch
链接:https://ac.nowcoder.com/acm/contest/338/D来源:牛客网 题目描述 As everyone knows, there are now n people pa ...
- P3826 [NOI2017]蔬菜
传送门 注意每一单位蔬菜的变质时间是固定的,不随销售发生变化 固定的...... 就是每一个单位的蔬菜在哪一天变质是早就定好了的 发现从第一天推到最后一天很不好搞 考虑反过来,从最后一天推到第一天,这 ...
- 关于URL和URI的最简单理解
以下面网址为例: http://www.sina.com/news/1.html 那么,http://www.sina.com/news/1.html就表示URL,用于标识互联网中的某一资源:/new ...
- [烧脑时刻]EL表达式1分钟完事
一天,程序员A问我,我们比比谁的知识点多,反应快.我回答:那就看谁最快用EL表达式的显示在页面上吧. 话不多说,计时开始. 项目的结构如上,大概就是一个Family的JavaBean,一个jsp页面, ...
- 164-基于TI DSP TMS320C6455和Altera FPGA EP2S130的Full CameraLink PDS150接口板卡
一.板卡概述 本板卡由我公司自主研发,板卡采用DSP+FPGA的结构,DSP使用TMS320C6455芯片,FPGA采用ALTERA的高端FPGA芯片Stratix II EP2S系列EP2S130, ...
- 阿里云LNMP环境安装
文档里有一键部署LNMP环境和手动搭建LNMP环境您看下 镜像部署 LNMP 环境:https://help.aliyun.com/document_detail/25427.html?spm=517 ...