2015-04-04 146 views
0

我爲MongoDB運行YCSB。YCSB基準測試結果的吞吐量是多少?

這是我的結果:

./bin/ycsb run mongodb -s -P workloads/workloada > my_run.dat 
Loading workload... 
Starting test. 
0 sec: 0 operations; 
10 sec: 16690 operations; 1657.07 current ops/sec; [READ AverageLatency(us)=490.92] [UPDATE AverageLatency(us)=654.23] 
20 sec: 34651 operations; 1784.68 current ops/sec; [READ AverageLatency(us)=489.92] [UPDATE AverageLatency(us)=612.62] 
30 sec: 53152 operations; 1848.99 current ops/sec; [READ AverageLatency(us)=490.31] [UPDATE AverageLatency(us)=577.33] 
40 sec: 69624 operations; 1645.55 current ops/sec; [READ AverageLatency(us)=538.23] [UPDATE AverageLatency(us)=661.69] 
50 sec: 87998 operations; 1836.67 current ops/sec; [READ AverageLatency(us)=486.72] [UPDATE AverageLatency(us)=590.1] 
60 sec: 105686 operations; 1768.62 current ops/sec; [READ AverageLatency(us)=507.04] [UPDATE AverageLatency(us)=611.8] 
70 sec: 125513 operations; 1982.7 current ops/sec; [READ AverageLatency(us)=451.16] [UPDATE AverageLatency(us)=546.62] 
80 sec: 144607 operations; 1909.21 current ops/sec; [READ AverageLatency(us)=471.99] [UPDATE AverageLatency(us)=565.08] 
90 sec: 162982 operations; 1836.95 current ops/sec; [READ AverageLatency(us)=479.93] [UPDATE AverageLatency(us)=598.32] 
100 sec: 182047 operations; 1906.31 current ops/sec; [READ AverageLatency(us)=464.83] [UPDATE AverageLatency(us)=573.04] 
110 sec: 200449 operations; 1837.81 current ops/sec; [READ AverageLatency(us)=482.29] [UPDATE AverageLatency(us)=593.68] 
120 sec: 219938 operations; 1948.71 current ops/sec; [READ AverageLatency(us)=450.92] [UPDATE AverageLatency(us)=565.71] 
130 sec: 238601 operations; 1866.11 current ops/sec; [READ AverageLatency(us)=470.68] [UPDATE AverageLatency(us)=591.11] 
140 sec: 259370 operations; 2076.69 current ops/sec; [READ AverageLatency(us)=423.18] [UPDATE AverageLatency(us)=529.47] 
150 sec: 280439 operations; 2106.69 current ops/sec; [READ AverageLatency(us)=427.67] [UPDATE AverageLatency(us)=511.45] 
160 sec: 300454 operations; 2001.3 current ops/sec; [READ AverageLatency(us)=443.84] [UPDATE AverageLatency(us)=536.78] 
170 sec: 320651 operations; 2019.5 current ops/sec; [READ AverageLatency(us)=441.01] [UPDATE AverageLatency(us)=550.97] 
180 sec: 339846 operations; 1919.31 current ops/sec; [READ AverageLatency(us)=467.42] [UPDATE AverageLatency(us)=564.23] 
190 sec: 358263 operations; 1839.13 current ops/sec; [READ AverageLatency(us)=479.94] [UPDATE AverageLatency(us)=595.92] 
200 sec: 377686 operations; 1941.72 current ops/sec; [READ AverageLatency(us)=457.56] [UPDATE AverageLatency(us)=561.6] 
210 sec: 398299 operations; 2060.89 current ops/sec; [READ AverageLatency(us)=433.26] [UPDATE AverageLatency(us)=526.97] 
220 sec: 416290 operations; 1798.92 current ops/sec; [READ AverageLatency(us)=495.91] [UPDATE AverageLatency(us)=604.73] 
230 sec: 436193 operations; 1989.11 current ops/sec; [READ AverageLatency(us)=451.31] [UPDATE AverageLatency(us)=543.84] 
240 sec: 457690 operations; 2149.49 current ops/sec; [READ AverageLatency(us)=411.25] [UPDATE AverageLatency(us)=508.66] 
250 sec: 476801 operations; 1910.91 current ops/sec; [READ AverageLatency(us)=452.22] [UPDATE AverageLatency(us)=583.65] 
260 sec: 494604 operations; 1780.12 current ops/sec; [READ AverageLatency(us)=497.51] [UPDATE AverageLatency(us)=612.22] 
270 sec: 515721 operations; 2111.49 current ops/sec; [READ AverageLatency(us)=419.5] [UPDATE AverageLatency(us)=518.25] 
280 sec: 533880 operations; 1815.54 current ops/sec; [READ AverageLatency(us)=486.85] [UPDATE AverageLatency(us)=604.71] 
290 sec: 553822 operations; 1994 current ops/sec; [READ AverageLatency(us)=444.74] [UPDATE AverageLatency(us)=548.16] 
300 sec: 576101 operations; 2227.01 current ops/sec; [READ AverageLatency(us)=398.8] [UPDATE AverageLatency(us)=489.87] 
310 sec: 594411 operations; 1826.43 current ops/sec; [READ AverageLatency(us)=472.85] [UPDATE AverageLatency(us)=610.28] 
313 sec: 600000 operations; 1792.5 current ops/sec; [READ AverageLatency(us)=496.76] [UPDATE AverageLatency(us)=602.38] 

然後輸出文件:

YCSB Client 0.1 
Command line: -db com.yahoo.ycsb.db.MongoDbClient -s -P workloads/workloada -t 
new database url = 172.17.0.13:27017/test 
mongo connection created with 172.17.0.13:27017/test 
[OVERALL], RunTime(ms), 313358.0 
[OVERALL], Throughput(ops/sec), 1914.7428819433364 
[READ], Operations, 299981 
[READ], AverageLatency(us), 462.1898386897837 
[READ], MinLatency(us), 88 
[READ], MaxLatency(us), 35020 
[READ], 95thPercentileLatency(ms), 1 
[READ], 99thPercentileLatency(ms), 2 
[READ], Return=0, 299981 
[READ], 0, 278042 
[READ], 1, 18615 
[READ], 2, 2170 
[READ], 3, 493 
[READ], 4, 264 
[READ], 5, 120 
[READ], 6, 81 
[READ], 7, 37 
[READ], 8, 27 
[READ], 9, 14 
[READ], 10, 14 
[READ], 11, 13 
[READ], 12, 14 
[READ], 13, 8 
[READ], 14, 15 
[READ], 15, 14 
[READ], 16, 15 
[READ], 17, 9 
[READ], 18, 4 
[READ], 19, 1 
[READ], 20, 4 
[READ], 21, 1 
[READ], 22, 2 
[READ], 23, 1 
[READ], 24, 0 
[READ], 25, 0 
[READ], 26, 0 
[READ], 27, 0 
[READ], 28, 0 
[READ], 29, 0 
[READ], 30, 0 
[READ], 31, 1 
[READ], 32, 1 
[READ], 33, 0 
[READ], 34, 0 
[READ], 35, 1 
[READ], 36, 0 
[READ], 37, 0 
[READ], 38, 0 
[READ], 39, 0 
[READ], 40, 0 
[READ], 41, 0 
[READ], 42, 0 
[READ], 43, 0 
[READ], 44, 0 
[READ], 45, 0 
[READ], 46, 0 
[READ], 47, 0 

我要繪製這樣 http://i.imgur.com/BWTLydi.jpg

然而,我感到困惑的輸出結果。不確定結果中數字的「吞吐量」是什麼意思。 此外,對於

10 sec: 16690 operations; 1657.07 current ops/sec; 

難道這不是1657.07×10(秒)= 16570.7操作?

回答

0

我認爲第一個數字是過去十秒內完成的操作次數。第二個是過去第二個操作的次數。操作次數從第二次到第二次不等,所以10 *當前操作數不一定是過去10秒內的操作次數。自從16690/10> 1657.07以來,平均每秒平均操作次數在過去十秒內平均高於此特定秒。

0

閱讀YCSB維基的this section瞭解如何解釋結果。

更具體地說,您的第一個片段基本上是由'-s'開關打開的瞬時輸出。我對YCSB並不確定,但通常在性能測試中,瞬時結果僅僅是指標,不應被接受爲非常準確。

現在,想要繪製(對於多個數據庫提供者的給定工作負載的吞吐量與延遲),您需要使用'-target'switch available in YCSB。使用該交換機改變吞吐量,捕獲最終的日誌輸出,然後將95%或99%的百分比延遲數字映射到目標吞吐量,應該爲您提供所需的繪圖。

希望這會有所幫助。另外:性能運行應該有足夠長的運行時間。僅僅運行5分鐘的性能測試結果可能因不合理的原因而被取消資格。載入足夠的數據(YCSB的recordcount屬性),然後將ops(operationcount屬性)設置爲足夠大的數字,以便您的測試運行至少30分鐘。