Questions on ops/sec and usec/ops in rocksdb perf benchmark results

172 views
Skip to first unread message

Alec Hothan

unread,
Aug 22, 2021, 11:40:59 AM8/22/21
to rocksdb
Hi there,


Test1 table looks good and consistent however
Test 2 table seems to show inconsistent data, for example:

Version Opts ops/sec mb/sec usec/op p50 p75 p99 p99.9 p99.99
6.10.4 None 138496 35.1 462.1 617.1 764.3 1240 1295 2484

with ops/sec = 138496, the average usec per op would be
1,000,000 / 138496 = 7.22 usec (assuming it is average ops/sec)
while the usec/op column shows 462 usec which is 2164 op/sec (assuming it is average usec/op)

Subsequent tables are also exposing the same discrepancy. Am I interpreting the columns incorrectly?

Thanks

 



Mark Rambacher

unread,
Aug 22, 2021, 3:24:09 PM8/22/21
to Alec Hothan, rocksdb
There are 64 threads in these tests. 
1,000,000 / 138496 = 7.22 usec
7.22 usec * 64 threads = 462.1 usec

So the ops/sec is a per-thread result whereas the usec/op is a per-process one.

There are likely a few other math/rounding issues as the thread values are summed up into a single result (rounding of microseconds to seconds, etc).

Does that answer your question?

/ Mark


--
You received this message because you are subscribed to the Google Groups "rocksdb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rocksdb+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rocksdb/1ce94c00-96f5-4ad1-9dbe-77915153ee3en%40googlegroups.com.

Alec Hothan

unread,
Aug 23, 2021, 10:08:50 AM8/23/21
to rocksdb
Thanks for the quick reply Mark, that explains the data reported.

  Alec
Reply all
Reply to author
Forward
0 new messages