Project

General

Profile

Actions

Bug #7401

closed

rados bench takes into account second '0' for stddev calculation

Added by Ivo Jimenez about 10 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Community (dev)
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

For example:

-------------------------------------------------------------------------------------
ivo@issdm-1:~
$ rados bench 20 write -t 1
 Maintaining 1 concurrent writes of 4194304 bytes for up to 20 seconds or 0 objects
 Object prefix: benchmark_data_issdm-1_12255
   sec Cur ops   started  finished  avg MB/s  cur MB/s  last lat   avg lat
     0       0         0         0         0         0         -         0
     1       1        13        12   47.9813        48  0.078513 0.0796146
     2       1        26        25   49.9876        52  0.074775 0.0778432
     3       1        39        38   50.6566        52  0.076211 0.0773638
     4       1        52        51   50.9911        52  0.077378 0.0772506
     5       1        65        64   51.1919        52  0.076988 0.0772859
     6       1        78        77   51.3257        52  0.074622 0.0771196
     7       1        91        90   51.4213        52  0.075367  0.077041
     8       1       104       103   51.4929        52  0.079492 0.0770329
     9       1       117       116   51.5487        52  0.074623 0.0769821
    10       1       130       129   51.5933        52   0.07787 0.0769796
    11       1       143       142   51.6298        52  0.078712 0.0769756
    12       1       157       156   51.9935        56  0.074836 0.0769066
    13       1       170       169   51.9937        52   0.07789 0.0768589
    14       1       183       182   51.9938        52  0.076025 0.0768856
    15       1       196       195   51.9939        52  0.079573 0.0768937
    16       1       209       208    51.994        52  0.074639  0.076873
    17       1       222       221    51.994        52  0.079903 0.0769036
    18       1       234       233   51.7718        48  0.077047 0.0769308
    19       1       247       246   51.7836        52  0.078777 0.0769271
    20       1       260       259   51.7941        52  0.077108 0.0769368
 Total time run:         20.074746
Total writes made:      261
Write size:             4194304
Bandwidth (MB/sec):     52.006

Stddev Bandwidth:       11.4076
Max bandwidth (MB/sec): 56
Min bandwidth (MB/sec): 0
Average Latency:        0.0769029
Stddev Latency:         0.00207027
Max latency:            0.085381
Min latency:            0.068279
--------------------------------------------------------------------------------

Min bandwidth above should be 48, not zero. Thus, stddev bandwidth should be 1.57 and not 11.4076.


Related issues 1 (0 open1 closed)

Related to Ceph - Bug #6372: rados bench reports bad statistics when read --block-size > write --block-size Resolved09/23/2013

Actions
Actions #1

Updated by Ian Colle about 10 years ago

  • Assignee set to Mark Nelson
Actions #2

Updated by Samuel Just about 9 years ago

  • Assignee deleted (Mark Nelson)
Actions #3

Updated by Loïc Dachary about 9 years ago

I think the correct fix is

--- a/src/common/obj_bencher.cc
+++ b/src/common/obj_bencher.cc
@@ -108,7 +108,7 @@ void *ObjBencher::status_printer(void *_bencher) {
     else
       bandwidth = 0;

-    if (!isnan(bandwidth)) {
+    if (cycleSinceChange && !isnan(bandwidth)) {
       if (bandwidth > data.idata.max_bandwidth)
         data.idata.max_bandwidth = bandwidth;
       if (bandwidth < data.idata.min_bandwidth)

to skip the first cycle because bandwidth neads two measures to be computed.

Actions #4

Updated by Loïc Dachary almost 9 years ago

  • Status changed from New to Resolved
  • Regression set to No
Actions

Also available in: Atom PDF