YCSB测试

 查看workloads中文件

我们打开workloada查看信息

以下是workloada、workloadb、workloadc、workloadd、workloade、workloadf的相关文件信息

workloada 读写均衡型,50%读,50%写
workloadb 读多写少型,95%读,5%更新。
workloadc 只读,100%读。
workloadd 读最近写入记录型,95%读,5%插入。
workloade 扫描小区间型,95%扫描,5%插入。
workloadf 读写入记录均衡型,50%读,50%读、修改、写。

对指定的数据库进行测试

./bin/ycsb load mongodb -s -P workloads/S1 -p mongodb.url=mongodb://root:123@192.168.0.101/ycsb > /home/hduser/load_test.txt

  • -s 代表输出status
  • -threads 指定线程数
  • -P 指定workload
  • > 代表stdout 输出到 /home/hduser/load_test.txt文件

使用Mongostat辅助测试

mongostat --host 127.0.0.1:27017 -uroot -p123 --authenticationDatabase ycsb

参数说明:

--host:指定IP地址和端口,也可以只写IP,然后使用--port参数指定端口号

-u: 如果开启了认证,则需要在其后填写用户名

-p:   密码
--authenticationDatabase:若开启了认证,则需要在此参数后填写认证库(注意是认证上述账号的数据库)

输出格式:

 下面进行实战

首先配置好文件mongotest_in_only。只插入数据。

#插入100万条文档数据

recordcount=1000000

operationcount=1000000

workload=com.yahoo.ycsb.workloads.CoreWorkload

readallfields=true

readproportion=0

updateproportion=0

scanproportion=0

#只有插入的操作,1就是100%

insertproportion=1

requestdistribution=uniform

insertorder=hashed

fieldlength=250

fieldcount=8

mongodb.url=mongodb://127.0.0.1:27017/ycsb?w=0

mongodb.writeConcern=acknowledged

threadcount=100

打开mongostat

mongostat --host 127.0.0.1:27017 -uroot -p123 --authenticationDatabase ycsb

 切换到ycsb目录,运行如下

./bin/ycsb load mongodb -P workloads/mongotest_in_only -s >mongo_20190418.txt

 查看刚刚产生的mongo_20190418.txt

 

也可以在终端查看

cat mongo_20190418.txt

 关注几个信息:

RunTime(ms):    数据加载所用时间,单位毫秒(ms)

Throughput(ops/sec):    吞吐量,即ops(每秒操作次数)

Operations:    操作的总次数

AverageLatency(us):    平均响应延时,单位是微秒(us)

MinLatency(us):    最小响应时间,单位是微秒(us)

MaxLatency(us):    最大响应时间,单位是微秒(us)

95thPercentileLatency(us):    95%的操作延时,单位是微秒(us)

99thPercentileLatency(us):    99%的操作延时,单位是微秒(us)

Return=OK:    成功返回数,这个值不符合测试要求,则证明测试失败.

[READ]开头的代表只读的操作记录,其他还有例如上面的[insert],[UPDATE]等,

其他可以理解的就是字面意思,不能理解也不需要太过关注.

和其他测试软件一样,这个只能说是基准值,并不是标准值,和真实环境不能全部模拟,所以测试的思维要结合别的测试软件的方法来做.

测试一下只读操作

配置一下文件mongotest_read_only,只读取文件。

#读取100万条文档数据
recordcount=1000000
operationcount=1000000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
#只读,1即100
readproportion=1
updateproportion=0
scanproportion=0
insertproportion=0
requestdistribution=uniform
insertorder=hashed
fieldlength=250
fieldcount=8
mongodb.url=mongodb://127.0.0.1:27017/ycsb?w=0
mongodb.writeConcern=acknowledged
threadcount=100

运行mongostat

 mongostat --host 127.0.0.1:27017 -uroot -p123 --authenticationDatabase ycsb

切换到ycsb目录,运行如下

./bin/ycsb run mongodb -P workloads/mongotest_read_only -s >mongo_20190419.txt

 

参考:

ycsb

https://blog.51cto.com/arthur376/2069453

mongostat

https://blog.csdn.net/jianlong727/article/details/54949874

posted @ 2019-04-18 14:54  iDataSharing  阅读(2078)  评论(0编辑  收藏  举报