Actions
Bug #7401
closedrados bench takes into account second '0' for stddev calculation
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.
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.
Updated by Loïc Dachary almost 9 years ago
- Status changed from New to Resolved
- Regression set to No
Actions