2013-11-15 69 views
0

我在网站上搜索,发现了另一个问题,但没有答案。YCSB了解输出

我一个卡桑德拉集群上执行YCSB工具,YCSB的输出是:

[OVERALL], RunTime(ms), 302016.0 -> 05 mins 02 secs 

[OVERALL], Throughput(ops/sec), 3311.0828565374018 

[UPDATE], Operations, 499411 

[UPDATE], AverageLatency(us), 2257.980987603397 

[UPDATE], MinLatency(us), 389 

[UPDATE], MaxLatency(us), 169380 

[UPDATE], 95thPercentileLatency(ms), 4 

[UPDATE], 99thPercentileLatency(ms), 8 

[UPDATE], Return=0, 499411 

[UPDATE], 0, 50039 

[UPDATE], 1, 222610 

[UPDATE], 2, 138349 

[UPDATE], 3, 49465 

,并继续就“直到数70.它是如何呢?有没有运行这些操作的秒数?奇怪的是,从整体语音中可以看出,测试运行时间超过5分钟。

谢谢你的时间!

回答

1

输出指示

  • 总执行时间为05分钟02秒
  • 的平均吞吐量为3311.0828565374018所有线程
  • 有499411个更新操作
  • 平均值,最小值,最大值,第99和第95百分位等待时间
  • 499411操作给出的返回码为零(全部成功,非零返回表示操作失败)
  • 50039操作在不到1ms内完成。
  • 222610操作在1到2ms之间完成。
  • 138349操作在2至3ms之间完成。
  • ...等等......他们可能会高达1000ms。

也可以通过将-p timeseries.granularity=2000开关添加到ycsb命令来获得延迟的时间序列。

的更多信息,the documentation

+0

感谢您的答复可用,但我仍然不明白这怎么可能,最运作,在不到10毫秒的完成,同时在5分钟内整个测试!我的意思是,客户执行的操作少于10毫秒吗?事实上,你可以看到,99thPercentileLatency是8. 我希望我很清楚:P – user2867270

+0

默认的测试运行在一个线程中(除非你指定了'-threads'选项)。所以这些操作不会同时发生。此外,客户端执行很多不影响基准的样板任务,因此不计入计算中(例如,实例化类,执行实际计算不会影响延迟)。至于百分位数,我不确定它是如何计算的。 – Akshay

+0

完美,实际上我使用-s输出来查看10秒的操作。最后一件事:我看到,总是使用ycsb工具,ycsb返回给我一个警告client.HConnectionManager $ HConnectionImplementation:失败全部来自region = usertable,user5151590341071383779,1384956970306.c298f9ff82ff593e6d9a1895445c966f。,hostname = ip-10-253-27 -32,port = 60020 java.util.concurrent.ExecutionException:java.io.IOException:调用ip-10-253-27-32/10.253.27.32:60020本地异常失败:org.apache.hadoop.hbase .ipc.HBaseClient $ CallTimeoutException:呼叫ID = 542,waitTime = 65285,rpcTimetout = 60000' 为什么? – user2867270