-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathBENCH-rocks.txt
560 lines (514 loc) · 24.7 KB
/
BENCH-rocks.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
# Amazon i3.large dedicated instance: 2 cores, 16G RAM, 450G local SSD.
First, we shall set up the environment for running tests, by choosing where to store the benchmark
data and telling the program where to find the rockdb shared libraries:
export DATADIR=$HOME/bench-data
mkdir $DATADIR
export LD_LIBRARY_PATH=/usr/local/lib
As shown by fio, this instance gives 93K random iops at 4K block size.
$ fio --name=randread --ioengine=libaio --iodepth=32 --rw=randread --bs=4k --direct=0 --size=2G --numjobs=16 --runtime=240 --group_reporting
randread: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
...
fio-2.2.10
Starting 16 processes
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
randread: Laying out IO file(s) (1 file(s) / 2048MB)
Jobs: 1 (f=1): [r(1),_(15)] [100.0% done] [240.4MB/0KB/0KB /s] [61.6K/0/0 iops] [eta 00m:00s] s]
randread: (groupid=0, jobs=16): err= 0: pid=13063: Sat Apr 29 12:37:49 2017
read : io=32768MB, bw=371947KB/s, iops=92986, runt= 90213msec
slat (usec): min=31, max=24800, avg=163.54, stdev=200.35
clat (usec): min=1, max=69452, avg=5180.95, stdev=1919.00
lat (usec): min=91, max=69546, avg=5345.05, stdev=1958.18
clat percentiles (usec):
| 1.00th=[ 3152], 5.00th=[ 3312], 10.00th=[ 3440], 20.00th=[ 3664],
| 30.00th=[ 3856], 40.00th=[ 4128], 50.00th=[ 4512], 60.00th=[ 5024],
| 70.00th=[ 5728], 80.00th=[ 6624], 90.00th=[ 7904], 95.00th=[ 9024],
| 99.00th=[11456], 99.50th=[12352], 99.90th=[14528], 99.95th=[15680],
| 99.99th=[20096]
bw (KB /s): min=18632, max=36608, per=6.43%, avg=23925.03, stdev=2987.85
lat (usec) : 2=0.01%, 4=0.01%, 100=0.01%, 250=0.01%, 500=0.01%
lat (usec) : 750=0.01%, 1000=0.01%
lat (msec) : 2=0.01%, 4=36.40%, 10=60.93%, 20=2.66%, 50=0.01%
lat (msec) : 100=0.01%
cpu : usr=2.31%, sys=6.14%, ctx=8463944, majf=0, minf=653
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.0%
issued : total=r=8388608/w=0/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=32
Run status group 0 (all jobs):
READ: io=32768MB, aggrb=371946KB/s, minb=371946KB/s, maxb=371946KB/s, mint=90213msec, maxt=90213msec
Disk stats (read/write):
nvme0n1: ios=8386313/19379, merge=0/0, ticks=877396/60, in_queue=880100, util=100.00%
Command being timed: "populate --kv rocksdb --valsz 128 --keys_mil 250 --dir=$DATADIR"
User time (seconds): 2685.96
System time (seconds): 532.66
Percent of CPU this job got: 136%
Elapsed (wall clock) time (h:mm:ss or m:ss): 39:10.78
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 611888
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 39
Minor (reclaiming a frame) page faults: 2169690
Voluntary context switches: 11455264
Involuntary context switches: 4606594
Swaps: 0
File system inputs: 132138368
File system outputs: 594809048
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -sh $DATADIR/rocks
24G $DATADIR/rocks
In this case, we set the value log GC threshold to 0.5. Turns out doing value log GC can be expensive.
So, we should only do it sometimes. It's only worth if saving significant amount of disk space.
Command being timed: "populate --kv badger --valsz 128 --keys_mil 250 --dir=$DATADIR"
User time (seconds): 4983.09
System time (seconds): 166.96
Percent of CPU this job got: 188%
Elapsed (wall clock) time (h:mm:ss or m:ss): 45:26.56
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 14660624
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 10690
Minor (reclaiming a frame) page faults: 6659331
Voluntary context switches: 1141184
Involuntary context switches: 1071168
Swaps: 0
File system inputs: 14994928
File system outputs: 291238896
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -sh /mnt/data/badger
38G /mnt/data/badger
5.8G *.sst # LSM tree, can be kept in RAM.
Random Reads: Badger is 3.67x faster
$ go test --bench BenchmarkReadRandomRocks --keys_mil 250 --valsz 128 --dir $DATADIR --timeout 10m --benchtime 3m
BenchmarkReadRandomRocks/read-random-rocks-2 2000000 118982 ns/op
--- BENCH: BenchmarkReadRandomRocks/read-random-rocks-2
bench_test.go:92: rocks 149864 keys had valid values.
bench_test.go:92: rocks 150136 keys had valid values.
bench_test.go:92: rocks 1000693 keys had valid values.
bench_test.go:92: rocks 999307 keys had valid values.
PASS
$ go test --bench BenchmarkReadRandomBadger --keys_mil 250 --valsz 128 --dir $DATADIR --timeout 10m --benchtime 3m
Called BenchmarkReadRandomBadger
Replaying compact log: /mnt/data/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:37 Len:163 Offset:1022845212}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=00128-k=0025059055
BenchmarkReadRandomBadger/read-random-badger-2 10000000 32361 ns/op
--- BENCH: BenchmarkReadRandomBadger/read-random-badger-2
bench_test.go:72: badger 325009 keys had valid values.
bench_test.go:72: badger 324883 keys had valid values.
bench_test.go:72: badger 3247736 keys had valid values.
bench_test.go:72: badger 3243258 keys had valid values.
Sending signal to 0 registered with name "value-gc"
Sending signal to 1 registered with name "writes"
--->> Size of bloom filter: 116
=======> Deallocating skiplist
Sending signal to 0 registered with name "memtable"
Level "value-gc" already got signal
Level "writes" already got signal
PASS
### Iteration
$ go test --bench BenchmarkIterateRocks --keys_mil 250 --valsz 128 --dir $DATADIR --timeout 10m --cpuprofile cpu.out
BenchmarkIterateRocks/rocksdb-iterate-2 1 5806763436 ns/op
--- BENCH: BenchmarkIterateRocks/rocksdb-iterate-2
bench_test.go:128: [0] Counted 2000000 keys
PASS
ok github.com/dgraph-io/badger-bench 6.987s
$ go test --bench BenchmarkIterateBadgerOnly --keys_mil 250 --valsz 128 --dir $DATADIR --timeout 10m --cpuprofile cpu.out
Replaying compact log: /mnt/data/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:39 Len:163 Offset:1012268142}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=00128-k=0098569193
BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2 2 713078716 ns/op
--- BENCH: BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2
bench_test.go:156: [0] Counted 2000000 keys
bench_test.go:156: [0] Counted 2000000 keys
bench_test.go:156: [1] Counted 2000000 keys
PASS
ok github.com/dgraph-io/badger-bench 10.198s
$ go test --bench BenchmarkIterateBadgerWithValues --keys_mil 250 --valsz 128 --dir $DATADIR --timeout 10m
Replaying compact log: /mnt/data/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:39 Len:163 Offset:1012268142}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=00128-k=0098569193
....................BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2 1 75781455080 ns/op
--- BENCH: BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2
bench_test.go:187: [0] Counted 2000000 keys
PASS
ok github.com/dgraph-io/badger-bench 81.401s
WROTE 75000000 KEYS
Command being timed: "./populate --kv rocksdb --valsz 1024 --keys_mil 75 --dir /mnt/data/1kb"
User time (seconds): 2529.19
System time (seconds): 1498.27
Percent of CPU this job got: 85%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18:08
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1040732
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 298
Minor (reclaiming a frame) page faults: 11338619
Voluntary context switches: 6822622
Involuntary context switches: 1738511
Swaps: 0
File system inputs: 1046110728
File system outputs: 1814480952
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -sh /mnt/data/1kb/rocks
49G
WROTE 75000000 KEYS
Command being timed: "./populate --kv badger --valsz 1024 --keys_mil 75 --dir /mnt/data/1kb"
User time (seconds): 1445.97
System time (seconds): 109.23
Percent of CPU this job got: 151%
Elapsed (wall clock) time (h:mm:ss or m:ss): 17:09.66
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 11857204
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 1952
Minor (reclaiming a frame) page faults: 10187929
Voluntary context switches: 1804454
Involuntary context switches: 282003
Swaps: 0
File system inputs: 205176
File system outputs: 197457568
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -shc /mnt/data/1kb/badger/*.sst
1.7G
$ du -shc /mnt/data/1kb/badger/*.vlog
74G
$ go test --bench BenchmarkReadRandomRocks --keys_mil 75 --valsz 1024 --dir "/mnt/data/1kb" --timeout 10m --benchtime 3m
BenchmarkReadRandomRocks/read-random-rocks-2 2000000 156694 ns/op
--- BENCH: BenchmarkReadRandomRocks/read-random-rocks-2
bench_test.go:92: rocks 149796 keys had valid values.
bench_test.go:92: rocks 150204 keys had valid values.
bench_test.go:92: rocks 996349 keys had valid values.
bench_test.go:92: rocks 1003651 keys had valid values.
PASS
ok github.com/dgraph-io/badger-bench 385.121s
$ go test --bench BenchmarkReadRandomBadger --keys_mil 75 --valsz 1024 --dir "/mnt/data/1kb" --timeout 10m --benchtime 3m
Called BenchmarkReadRandomBadger
Replaying compact log: /mnt/data/1kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:73 Len:1059 Offset:1041730887}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=01024-k=0015263159
BenchmarkReadRandomBadger/read-random-badger-2 10000000 37053 ns/op
--- BENCH: BenchmarkReadRandomBadger/read-random-badger-2
bench_test.go:72: badger 317463 keys had valid values.
bench_test.go:72: badger 317460 keys had valid values.
bench_test.go:72: badger 3175198 keys had valid values.
bench_test.go:72: badger 3169988 keys had valid values.
Sending signal to 0 registered with name "value-gc"
Sending signal to 1 registered with name "writes"
--->> Size of bloom filter: 116
=======> Deallocating skiplist
Sending signal to 0 registered with name "memtable"
Level "value-gc" already got signal
Level "writes" already got signal
PASS
ok github.com/dgraph-io/badger-bench 415.068s
$ go test --bench BenchmarkIterateRocks --keys_mil 75 --valsz 1024 --dir "/mnt/data/1kb" --timeout 60m
BenchmarkIterateRocks/rocksdb-iterate-2 1 24936162613 ns/op
--- BENCH: BenchmarkIterateRocks/rocksdb-iterate-2
bench_test.go:128: [0] Counted 2000001 keys
PASS
ok github.com/dgraph-io/badger-bench 26.416s
$ go test --bench BenchmarkIterateBadger --keys_mil 75 --valsz 1024 --dir "/mnt/data/1kb" --timeout 60m
Replaying compact log: /mnt/data/1kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:73 Len:1059 Offset:1041730887}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=01024-k=0015263159
BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2 2 536687829 ns/op
--- BENCH: BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2
bench_test.go:156: [0] Counted 2000001 keys
bench_test.go:156: [0] Counted 2000001 keys
bench_test.go:156: [1] Counted 2000001 keys
Replaying compact log: /mnt/data/1kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:73 Len:1059 Offset:1041730887}
key=vsz=01024-k=0015263159
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
....................BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2 1 101801301675 ns/op
--- BENCH: BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2
bench_test.go:187: [0] Counted 2000000 keys
PASS
ok github.com/dgraph-io/badger-bench 114.170s
WROTE 5004000 KEYS
Command being timed: "./populate --kv rocksdb --valsz 16384 --keys_mil 5 --dir $DATADIR/16kb"
User time (seconds): 1424.16
System time (seconds): 1397.96
Percent of CPU this job got: 57%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:22:21
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 1224612
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 87
Minor (reclaiming a frame) page faults: 6938621
Voluntary context switches: 4541903
Involuntary context switches: 1035841
Swaps: 0
File system inputs: 1141303472
File system outputs: 1925444544
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -sh rocks
52G
WROTE 5004000 KEYS
Command being timed: "./populate --kv badger --valsz 16384 --keys_mil 5 --dir $DATADIR/16kb"
User time (seconds): 368.05
System time (seconds): 113.57
Percent of CPU this job got: 116%
Elapsed (wall clock) time (h:mm:ss or m:ss): 6:55.01
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 2313908
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 55
Minor (reclaiming a frame) page faults: 6128182
Voluntary context switches: 2327323
Involuntary context switches: 206230
Swaps: 0
File system inputs: 16424
File system outputs: 161245240
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
$ du -shc badger/*.sst
105M
$ du -shc badger/*.vlog
77G
$ go test -v --bench BenchmarkReadRandomRocks --keys_mil 5 --valsz 16384 --dir "$DATADIR/16kb" --timeout 10m --benchtime 3m
BenchmarkReadRandomRocks/read-random-rocks-2 SIGQUIT: quit
PC=0x460ed9 m=0 sigcode=0
goroutine 0 [idle]:
runtime.epollwait(0x4, 0x7ffdbcaf5ad8, 0xffffffff00000080, 0x0, 0xffffffff00000000, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/runtime/sys_linux_amd64.s:560 +0x19
runtime.netpoll(0xc420029301, 0xc420028001)
/usr/local/go/src/runtime/netpoll_epoll.go:67 +0x91
runtime.findrunnable(0xc420029300, 0x0)
/usr/local/go/src/runtime/proc.go:2084 +0x31f
runtime.schedule()
/usr/local/go/src/runtime/proc.go:2222 +0x14c
runtime.park_m(0xc420001040)
/usr/local/go/src/runtime/proc.go:2285 +0xab
runtime.mcall(0x7ffdbcaf6240)
/usr/local/go/src/runtime/asm_amd64.s:269 +0x5b
*** Test killed: ran too long (11m0s).
FAIL github.com/dgraph-io/badger-bench 674.142s
NOTE: RocksDB took too much memory when doing random lookups. So, this crash happened multiple times.
$ go test -v --bench BenchmarkReadRandomRocks --keys_mil 5 --valsz 16384 --dir "$DATADIR/16kb" --timeout 10m --benchtime 1m
BenchmarkReadRandomRocks/read-random-rocks-2 300000 215171 ns/op
--- BENCH: BenchmarkReadRandomRocks/read-random-rocks-2
bench_test.go:93: rocks 100391 keys had valid values.
bench_test.go:93: rocks 150850 keys had valid values.
bench_test.go:93: rocks 149150 keys had valid values.
PASS
ok github.com/dgraph-io/badger-bench 121.391s
$ go test -v --bench BenchmarkReadRandomBadger --keys_mil 5 --valsz 16384 --dir "$DATADIR/16kb" --timeout 10m --benchtime 1m
Called BenchmarkReadRandomBadger
Replaying compact log: $DATADIR/16kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:76 Len:16419 Offset:554157669}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=16384-k=0002454321
BenchmarkReadRandomBadger/read-random-badger-2 2000000 40178 ns/op
--- BENCH: BenchmarkReadRandomBadger/read-random-badger-2
bench_test.go:73: badger 315956 keys had valid values.
bench_test.go:73: badger 316468 keys had valid values.
bench_test.go:73: badger 632648 keys had valid values.
bench_test.go:73: badger 631790 keys had valid values.
Sending signal to 0 registered with name "value-gc"
Sending signal to 1 registered with name "writes"
--->> Size of bloom filter: 116
=======> Deallocating skiplist
Level "writes" already got signal
Sending signal to 0 registered with name "memtable"
Level "value-gc" already got signal
PASS
ok github.com/dgraph-io/badger-bench 123.227s
$ go test -v --bench BenchmarkIterate --keys_mil 5 --valsz 16384 --dir "$DATADIR/16kb" --timeout 60m
BenchmarkIterateRocks/rocksdb-iterate-2 1 133313688657 ns/op
--- BENCH: BenchmarkIterateRocks/rocksdb-iterate-2
bench_test.go:129: [0] Counted 2000001 keys
Replaying compact log: /mnt/data/16kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:76 Len:16419 Offset:554157669}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=16384-k=0002454321
BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2 3 475018676 ns/op
--- BENCH: BenchmarkIterateBadgerOnlyKeys/badger-iterate-onlykeys-2
bench_test.go:157: [0] Counted 2000001 keys
bench_test.go:157: [0] Counted 2000001 keys
bench_test.go:157: [1] Counted 2000001 keys
bench_test.go:157: [0] Counted 2000001 keys
bench_test.go:157: [1] Counted 2000001 keys
bench_test.go:157: [2] Counted 2000001 keys
Replaying compact log: /mnt/data/16kb/badger/clog
All compactions in compact log are done.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
NOT running any compactions due to DB options.
Seeking at value pointer: {Fid:76 Len:16419 Offset:554157669}
l.opt.ValueGCThreshold = 0.0. Exiting runGCInLoop
key=vsz=16384-k=0002454321
....................BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2 1 125095134637 ns/op
--- BENCH: BenchmarkIterateBadgerWithValues/badger-iterate-withvals-2
bench_test.go:188: [0] Counted 2000000 keys
PASS
ok github.com/dgraph-io/badger-bench 264.244s
16 Byte values
WROTE 1000008000 KEYS
Command being timed: "./populate --kv rocksdb --valsz 16 --keys_mil 1000 --dir $DATADIR/16"
User time (seconds): 8515.35
System time (seconds): 468.95
Percent of CPU this job got: 151%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:38:40
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 607276
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 41
Minor (reclaiming a frame) page faults: 2068722
Voluntary context switches: 17535643
Involuntary context switches: 10364349
Swaps: 0
File system inputs: 22217320
File system outputs: 491495256
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
[11010] Write key rate per minute: 5.03M. Total: 999.91M
Command terminated by signal 9 <---------------------------- Strange
Command being timed: "./populate --kv badger --valsz 16 --keys_mil 1000 --dir $DATADIR/16"
User time (seconds): 20732.95
System time (seconds): 662.04
Percent of CPU this job got: 193%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:04:04
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 14910100
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 107693
Minor (reclaiming a frame) page faults: 18716683
Voluntary context switches: 4845155
Involuntary context switches: 3718926
Swaps: 0
File system inputs: 489687344
File system outputs: 926333912
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
Update: with latest changes to compaction, 250K keys are written in 37m.
Another run of Badger.
WROTE 1000008000 KEYS
Command being timed: "./populate --kv badger --valsz 16 --keys_mil 1000 --dir $DATADIR/16"
User time (seconds): 21221.83
System time (seconds): 707.07
Percent of CPU this job got: 192%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:10:01
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 14773368
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 53700
Minor (reclaiming a frame) page faults: 19758570
Voluntary context switches: 7890576
Involuntary context switches: 4228086
Swaps: 0
File system inputs: 478626176
File system outputs: 963384272
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0