一、安装部署

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进行测试,后续将继续使用其他条件测试

测试命令参数说明

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近期写入数据(热数据)

账号密码

使用web页面创建的账号密码登录不是很顺利,可以进入容器环境,通过env | grep PASS找到root的对应密码

2.2. 测试执行

初始化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

读写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

读写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数据库性能测试的更多相关文章

  1. 不使用spring的情况下原生java代码两种方式操作mongodb数据库

    由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...

  2. 【操作教程】利用YCSB测试巨杉数据库性能

    一.前言 巨杉数据库(SequoiaDB)是国内第一款新一代文档型分布式数据库,巨杉数据库由巨杉软件完全自主研发,拥有完全自主知识产权,不基于任何其它的开源项目.SequoiaDB数据库是为分布式存储 ...

  3. 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式

    由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...

  4. YCSB_对mongodb做性能测试

    1.YCSB介绍 YCSB,全称为"Yahoo!Cloud Serving Benchmark",是雅虎开发的用来对云服务进行基础测试的工具,其内部涵盖了常见的NoSQL数据库产品 ...

  5. Mongodb数据库学习系列————(一)Mongodb数据库主从复制的搭建

    Mongodb数据库主从复制的搭建 Writeby:lipeng                                    date:2014-10-22 最近项目上用到了位置查询,在网上 ...

  6. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

    在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...

  7. FineReport如何连接和使用MongoDB数据库

    随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛.为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用 ...

  8. python操作mongodb数据库

    一.MongoDB 数据库操作 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 conn = pymongo.Connection ...

  9. NoSql 中Mongodb数据库的使用

    1.NoSql数据库简介 2.MongoDB数据库的简介 3.MongoDB下Windows下的安装

  10. 线上mongodb数据库mLab使用总结

    最近在CNode社区看到有人分享了免费的线上mongodb数据库(容量500M),今天去注册了一下,成功的将线下数据库替换掉了,现在就说一下它的使用和配置需要注意的地方: mLab是一款免费的在线mo ...

随机推荐

  1. Failed to connect to 127.0.0.1 port 1080: Connection refused拒绝连接错误

    一.git拒绝连接原因分析 使用git从远程仓库下载代码出现上述的错误是因为使用了proxy代理,所以要解决该问题,核心操作就是要取消代理 二.解决方式 1.查看Linux当前有没有使用代理 通过gi ...

  2. Nextcloud登录界面输入用户名和密码后报内部故障

    查询~/nextcloud/data/nextcloud.log,找到日志报出如下错误 "Something is wrong with your openssl setup: error: ...

  3. 关于自定义程序打包成jar包,并读取配置

    前言 在实际开发过程中,我们有时候有把你编写的一段程序打成jar包的需求,而一些配置是需要去配置文件里面读取关于这项目的一些配置,本人在网络上查询了众多的资料,总的来说可以归为3类 1.从数据库读取配 ...

  4. 基于AIidlux平台的自动驾驶环境感知与智能预警

    自动驾驶汽车又称为无人驾驶车,是一种需要驾驶员辅助或者完全不需操控的车辆. 自动驾驶分级: 自动驾驶系统的组成部分: 环境感知系统: 自动驾驶系统架构: 自动驾驶数据集: Aidlux的作用: YOL ...

  5. quarkus依赖注入之七:生命周期回调

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇的知识点是bean的生命周期回调:在be ...

  6. NFS快速入门(一):简介、原理

    NFS网络文件共享存储 什么是NFS NFS 是 Network File System 的缩写,中文意思是网络文件系统.它的主要功能是通过网络(一般是局域网)让不同主机系统之间可以共享文件或目录.N ...

  7. nlp入门(三)基于贝叶斯算法的拼写错误检测器

    源码请到:自然语言处理练习: 学习自然语言处理时候写的一些代码 (gitee.com) 数据来源:norvig.com/big.txt 贝叶斯原理可看这里:机器学习算法学习笔记 - 过客匆匆,沉沉浮浮 ...

  8. 4.2 C++ Boost 内存池管理库

    Boost 库是一个由C/C++语言的开发者创建并更新维护的开源类库,其提供了许多功能强大的程序库和工具,用于开发高质量.可移植.高效的C应用程序.Boost库可以作为标准C库的后备,通常被称为准标准 ...

  9. 0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) SQL注入+sudo提权

    0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) 系列专栏:Vulnhub靶机渗透系列 欢迎大佬:点赞️收藏关注 首发时间: 2023年8月22日 如有错误 ...

  10. CodeForces 1174D Ehab and the Expected XOR Problem

    题意: 给定两个数\(n\)和\(x\),构造一个序列,设为\(a[l]\)(\(l\)不确定) \(1\).\(1\leq a[i]<2^{n}\) \(2\).序列中没有子序列异或和为\(0 ...