下载解压
https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-mongodb-binding-0.17.0.tar.gz
tar -zxvf ycsb-mongodb-binding-0.17.0.tar.gz
ycsb提前已经在workload文件夹下准备好了几个压测场景分别对应workload[a:f]
workloads/workloada 样例
# Copyright (c) 2010 Yahoo! Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you
# may not use this file except in compliance with the License. You
# may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License. See accompanying
# LICENSE file. # Yahoo! Cloud System Benchmark
# Workload A: Update heavy workload
# Application example: Session store recording recent actions
#
# Read/update ratio: 50/50
# Default data size: 1 KB records (10 fields, 100 bytes each, plus key)
# Request distribution: zipfian
mongodb.url=mongodb://root:root@ip:27017/testmy?authSource=admin
mongodb.database=testmy
recordcount=1000
operationcount=1000
workload=site.ycsb.workloads.CoreWorkloadreadallfields=truereadproportion=0.5
updateproportion=0.5
scanproportion=0
insertproportion=0requestdistribution=zipfian
生成数据
./bin/ycsb.sh load mongodb -P ./workloads/workloada
压测
./bin/ycsb.sh run mongodb -P ./workloads/workloada
执行结果
$ ./bin/ycsb.sh load mongodb -P ./workloads/workloadaDBWrapper: report latency for each error is false and specific error codes to track for latency are: []
[OVERALL], RunTime(ms), 3007
[OVERALL], Throughput(ops/sec), 16.627868307283006
[TOTAL_GCS_PS_Scavenge], Count, 0
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 0
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.0
[TOTAL_GCS_PS_MarkSweep], Count, 0
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 0
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.0
[TOTAL_GCs], Count, 0
[TOTAL_GC_TIME], Time(ms), 0
[TOTAL_GC_TIME_%], Time(%), 0.0
[CLEANUP], Operations, 1
[CLEANUP], AverageLatency(us), 1491.0
[CLEANUP], MinLatency(us), 1491
[CLEANUP], MaxLatency(us), 1491
[CLEANUP], 95thPercentileLatency(us), 1491
[CLEANUP], 99thPercentileLatency(us), 1491
[INSERT], Operations, 50
[INSERT], AverageLatency(us), 51999.68
[INSERT], MinLatency(us), 39424
[INSERT], MaxLatency(us), 644607
[INSERT], 95thPercentileLatency(us), 40095
[INSERT], 99thPercentileLatency(us), 644607
[INSERT], Return=OK, 50$ ./bin/ycsb.sh run mongodb -P ./workloads/workloadaYCSB Client 0.17.0Loading workload...
Starting test.[OVERALL], RunTime(ms), 2798
[OVERALL], Throughput(ops/sec), 17.8699070764832
[TOTAL_GCS_PS_Scavenge], Count, 0
[TOTAL_GC_TIME_PS_Scavenge], Time(ms), 0
[TOTAL_GC_TIME_%_PS_Scavenge], Time(%), 0.0
[TOTAL_GCS_PS_MarkSweep], Count, 0
[TOTAL_GC_TIME_PS_MarkSweep], Time(ms), 0
[TOTAL_GC_TIME_%_PS_MarkSweep], Time(%), 0.0
[TOTAL_GCs], Count, 0
[TOTAL_GC_TIME], Time(ms), 0
[TOTAL_GC_TIME_%], Time(%), 0.0
[READ], Operations, 25
[READ], AverageLatency(us), 59205.12
[READ], MinLatency(us), 36384
[READ], MaxLatency(us), 581119
[READ], 95thPercentileLatency(us), 51967
[READ], 99thPercentileLatency(us), 581119
[READ], Return=OK, 25
[CLEANUP], Operations, 1
[CLEANUP], AverageLatency(us), 1522.0
[CLEANUP], MinLatency(us), 1522
[CLEANUP], MaxLatency(us), 1522
[CLEANUP], 95thPercentileLatency(us), 1522
[CLEANUP], 99thPercentileLatency(us), 1522
[UPDATE], Operations, 25
[UPDATE], AverageLatency(us), 36714.88
[UPDATE], MinLatency(us), 36224
[UPDATE], MaxLatency(us), 44575
[UPDATE], 95thPercentileLatency(us), 36703
[UPDATE], 99thPercentileLatency(us), 44575
[UPDATE], Return=OK, 25