YCSB对MongoDB数据库性能测试
一、安装部署
1.1前置条件
Install Java and Maven
Go to http://www.oracle.com/technetwork/java/javase/downloads/index.html
并获取url以将rpm下载到服务器。例如:
wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.rpm?AuthParam=11232426132 -o jdk-7u40-linux-x64.rpm
rpm -Uvh jdk-7u40-linux-x64.rpm
或者通过yum/apt-get安装
sudo yum install java-devel
(包含JAVA可不用安装)
Download MVN from http://maven.apache.org/download.cgi
wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
sudo tar xzf apache-maven-*-bin.tar.gz -C /usr/local
cd /usr/local
sudo ln -s apache-maven-* maven
sudo vi /etc/profile.d/maven.sh
将以下内容添加到maven.sh
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}
重新加载bash并测试mvn
bash
mvn -version
----或简约安装
sudo apt update
sudo apt install maven
备注:若不能执行需安装MongoDB
下载MongoDB并启动。例如,要启动MongoDB 在x86-64 Linux系统上:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.24.tgz
tar -xfvz mongodb-linux-x86_64-*.tgz
mkdir /tmp/mongodb
cd mongodb-linux-x86_64-*
./bin/mongod --dbpath /tmp/mongodb
将上面的x.x.x替换为MongoDB的最新稳定发布版本。 请参阅http://docs.mongodb.org/manual/installation/ 了解各种操作系统的安装步骤。
1.2下载YCSB zip文件并编译
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz
比较慢的话可从我的CSDN 0积分下载:https://download.csdn.net/download/weixin_39106116/88421659
tar -xfvz ycsb-0.17.0.tar.gz
cd ycsb-0.17.0 即可执行
或参考官网;
https://github.com/brianfrankcooper/YCSB/tree/master/mongodb?spm=a2c4g.11186623.0.0.6c347665QqdZjn
二、测试方法
2.1. 测试用例
使用ycsb自身配置文件workloada、workloadb、workloadc、workloadd、workloade、workloadf提供的各种操作场景。本文档使用workloada进行测试,后续将继续使用其他条件测试
l 测试命令参数说明
|
recordcount=1000 测试数据集的记录总数 operationcount=1000 测试过程执行的总数 workload=site.ycsb.workloads.CoreWorkload 默认(一般不用修改) readallfields=true 查询时是否读取记录的所有字段 readproportion=0.5 读操作百分比 updateproportion=0.5 更新操作百分比 scanproportion=0 扫描操作百分比 insertproportion=0 插入操作百分比 requestdistribution=zipfian 随机选择记录(存在热数据),uniform等概率选择记录、latest近期写入数据(热数据) |
l 账号密码
使用web页面创建的账号密码登录不是很顺利,可以进入容器环境,通过env | grep PASS找到root的对应密码
2.2. 测试执行
l 初始化load数据
|
ycsb load mongodb -s -P workloads/workloada -p table=test -threads 500 -p recordcount=100000000 -p mongodb.url=mongodb://root:nMmMDF2EsjYyTQWC@127.0.0.1:27017/admin?w=0 |
l 读写50:50
|
ycsb run mongodb -s -P workloads/workloada -p table=test -p recordcount=16000000 -p readproportion=0.5 -p updateproportion=0.5 -p operationcount=16000000 -threads 100 -p mongodb.url=mongodb://root:nMmMDF2EsjYyTQWC@127.0.0.1:27017/admin?w=0 |
l 读写95:5
|
ycsb run mongodb -s -P workloads/workloada -p table=test -p recordcount=16000000 -p readproportion=0.95 -p updateproportion=0.05 -p operationcount=16000000 -threads 100 -p mongodb.url=mongodb://root:nMmMDF2EsjYyTQWC@127.0.0.1:27017/admin?w=0 |
YCSB对MongoDB数据库性能测试的更多相关文章
- 不使用spring的情况下原生java代码两种方式操作mongodb数据库
由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常. 主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...
- 【操作教程】利用YCSB测试巨杉数据库性能
一.前言 巨杉数据库(SequoiaDB)是国内第一款新一代文档型分布式数据库,巨杉数据库由巨杉软件完全自主研发,拥有完全自主知识产权,不基于任何其它的开源项目.SequoiaDB数据库是为分布式存储 ...
- 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式
由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常. 主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...
- YCSB_对mongodb做性能测试
1.YCSB介绍 YCSB,全称为"Yahoo!Cloud Serving Benchmark",是雅虎开发的用来对云服务进行基础测试的工具,其内部涵盖了常见的NoSQL数据库产品 ...
- Mongodb数据库学习系列————(一)Mongodb数据库主从复制的搭建
Mongodb数据库主从复制的搭建 Writeby:lipeng date:2014-10-22 最近项目上用到了位置查询,在网上 ...
- 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...
- FineReport如何连接和使用MongoDB数据库
随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛.为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用 ...
- python操作mongodb数据库
一.MongoDB 数据库操作 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 conn = pymongo.Connection ...
- NoSql 中Mongodb数据库的使用
1.NoSql数据库简介 2.MongoDB数据库的简介 3.MongoDB下Windows下的安装
- 线上mongodb数据库mLab使用总结
最近在CNode社区看到有人分享了免费的线上mongodb数据库(容量500M),今天去注册了一下,成功的将线下数据库替换掉了,现在就说一下它的使用和配置需要注意的地方: mLab是一款免费的在线mo ...
随机推荐
- Hexo博客Next主题站内搜索模块相关,解决搜索无效、一直loading的问题
站内搜索配置 设置方法: 首先安装hexo-generator-searchdb插件 npm install hexo-generator-searchdb --save 编辑博客根目录下的博客本地目 ...
- 《架构整洁之道》学习笔记 Part 2 编程范式
计算机编程发展至今,一共只有三个编程范式: 结构化编程 面向对象编程 函数式编程 编程范式和软件架构的关系 结构化编程是各个模块的算法实现基础 多态(面向对象编程)是跨越架构边界的手段 函数式编程是规 ...
- OOP第三次大作业
前言 前言的前言 快期末,也一直在等这次作业发布,我现在只能说终于等到了!!!跟上一个Blog的时间相隔比较大,内容也比较多,涉及范围也比较广7-11次小练习,废话不多说,直接开始吧.如果对我blog ...
- Django 组织json格式
@api_view(['GET', 'POST']) def api_test(request): classes = Classes.objects.all() # classes_data = C ...
- 如何在 Windows10 下运行 Tensorflow 的目标检测?
前言 看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测.而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包, ...
- 基于Go编写一个可视化Navicat本地密码解析器
前提 开发小组在测试环境基于docker构建和迁移一个MySQL8.x实例,过程中大意没有记录对应的用户密码,然后发现某开发同事本地Navicat记录了根用户,于是搜索是否能够反解析Navicat中的 ...
- Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改
目录 Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明 Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改 Hi3798MV200 恩兔N2 NS ...
- [db2]数据库管理
前言 db2版本:10.5 实例所有者:db2inst1 待新建数据库:ticm,授权用户:ticm/123456.(用户是系统用户) 创建数据库 建库 # create database ticm: ...
- [golang]标准库-json
前言 json数据格式通常包含两个操作:序列化(把对象转换成JSON数据类型)和反序列化(把JSON数据类型转换成对象),二者操作互逆. Go语言中相关标准库为encoding/json. 示例代码 ...
- SElinux 导致 Keepalived 检测脚本无法执行
哈喽大家好,我是咸鱼 今天我们来看一个关于 Keepalived 检测脚本无法执行的问题 一位粉丝后台私信我,说他部署的 keepalived 集群 vrrp_script 模块中的脚本执行失败了,但 ...