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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM