{"id":920,"date":"2024-01-26T01:32:19","date_gmt":"2024-01-26T01:32:19","guid":{"rendered":"https:\/\/mvermeulen.org\/perf\/?page_id=920"},"modified":"2024-02-27T00:45:05","modified_gmt":"2024-02-27T00:45:05","slug":"rocksdb","status":"publish","type":"page","link":"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/rocksdb\/","title":{"rendered":"rocksdb"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">An embeddable persistent key-value store for fast storage. Seven different operations are measured. Most of these workloads are parallel with as many runnable processes as cores. The amount the cores are busy varies from low for the 5th workload (random fill sync) to high for the sixth (read while writing)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"960\" src=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/systemtime-72.png\" alt=\"\" class=\"wp-image-992\" srcset=\"https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/systemtime-72.png 1280w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/systemtime-72-1024x768.png 1024w, https:\/\/mvermeulen.org\/perf\/wp-content\/uploads\/sites\/7\/2024\/01\/systemtime-72-768x576.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">AMD metrics how little floating point. Otherwise most metrics in the average ranges.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              1256.218\non_cpu               0.679          # 10.86 \/ 16 cores\nutime                10219.396\nstime                3420.266\nnvcsw                119769591      # 94.73%\nnivcsw               6663729        # 5.27%\ninblock              1232           # 0.98\/sec\nonblock              121962920      # 97087.39\/sec\ncpu-clock            13574139138031 # 13574.139 seconds\ntask-clock           13612664355199 # 13612.664 seconds\npage faults          6824183        # 501.311\/sec\ncontext switches     126439332      # 9288.360\/sec\ncpu migrations       8718536        # 640.472\/sec\nmajor page faults    6              # 0.000\/sec\nminor page faults    6824177        # 501.311\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             10271174340310 # 188.623 branches per 1000 inst\nbranch misses        277449179077   # 2.70% branch miss\nconditional          5648504136349  # 103.731 conditional branches per 1000 inst\nindirect             1124377851737  # 20.648 indirect branches per 1000 inst\ncpu-cycles           53751704256411 # 2.68 GHz\ninstructions         55119098215444 # 1.03 IPC\nslots                106841913111060 #\nretiring             19849503350670 # 18.6% (22.5%)\n-- ucode             127793340403   #     0.1%\n-- fastpath          19721710010267 #    18.5%\nfrontend             36712996676391 # 34.4% (41.6%)\n-- latency           28253840782476 #    26.4%\n-- bandwidth         8459155893915  #     7.9%\nbackend              30901818231943 # 28.9% (35.0%)\n-- cpu               3612883079005  #     3.4%\n-- memory            27288935152938 #    25.5%\nspeculation          771073948149   #  0.7% ( 0.9%) low\n-- branch mispredict 762799127135   #     0.7%\n-- pipeline restart  8274821014     #     0.0%\nsmt-contention       18593652403377 # 17.4% ( 0.0%)\ncpu-cycles           60594058043732 # 2.67 GHz\ninstructions         59197242000526 # 0.98 IPC\ninstructions         19647912053547 # 42.592 l2 access per 1000 inst\nl2 hit from l1       767630063538   # 12.41% l2 miss\nl2 miss from l1      62743931847    #\nl2 hit from l2 pf    28135323858    #\nl3 hit from l2 pf    26813207921    #\nl3 miss from l2 pf   14259442809    #\ninstructions         19631998808723 # 22.432 float per 1000 inst\nfloat 512            108            # 0.000 AVX-512 per 1000 inst\nfloat 256            1048           # 0.000 AVX-256 per 1000 inst\nfloat 128            440377952417   # 22.432 AVX-128 per 1000 inst\nfloat MMX            0              # 0.000 MMX per 1000 inst\nfloat scalar         0              # 0.000 scalar per 1000 inst\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Intel metrics<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>elapsed              2036.936\non_cpu               0.813          # 13.01 \/ 16 cores\nutime                22363.617\nstime                4133.225\nnvcsw                30038469       # 66.05%\nnivcsw               15441406       # 33.95%\ninblock              32272          # 15.84\/sec\nonblock              168286872      # 82617.67\/sec\ncpu-clock            26482794374350 # 26482.794 seconds\ntask-clock           26490021625577 # 26490.022 seconds\npage faults          6277667        # 236.982\/sec\ncontext switches     45489763       # 1717.241\/sec\ncpu migrations       446163         # 16.843\/sec\nmajor page faults    145            # 0.005\/sec\nminor page faults    6277522        # 236.977\/sec\nalignment faults     0              # 0.000\/sec\nemulation faults     0              # 0.000\/sec\nbranches             15845073239406 # 182.768 branches per 1000 inst\nbranch misses        80660799235    # 0.51% branch miss\nconditional          15845073296654 # 182.768 conditional branches per 1000 inst\nindirect             5550933536562  # 64.028 indirect branches per 1000 inst\nslots                153818137907582 #\nretiring             55497284490468 # 36.1% (36.1%)\n-- ucode             6412404460591  #     4.2%\n-- fastpath          49084880029877 #    31.9%\nfrontend             41077025945675 # 26.7% (26.7%)\n-- latency           18447973920816 #    12.0%\n-- bandwidth         22629052024859 #    14.7%\nbackend              50702116635446 # 33.0% (33.0%)\n-- cpu               37168072994080 #    24.2%\n-- memory            13534043641366 #     8.8%\nspeculation          6203760391327  #  4.0% ( 4.0%)\n-- branch mispredict 5657529498006  #     3.7%\n-- pipeline restart  546230893321   #     0.4%\nsmt-contention       0              #  0.0% ( 0.0%)\ncpu-cycles           80870767382994 # 2.38 GHz\ninstructions         85902833984593 # 1.06 IPC\nl2 access            2188123304139  # 49.724 l2 access per 1000 inst\nl2 miss              458577890247   # 20.96% l2 miss\ncpu-cycles           23489588431046 # 26.9% memory latency\nload stalls          6158169861775  #  6.7% l1 bound\nl1 miss              4595344972815  #  8.1% l2 bound\nl2 miss              2701798732980  #  6.3% l3 bound\nl3 miss              1220720402911  #  5.2% dram bound\nstore_stalls         152469852843   #  0.6% store bound\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Process summary has most time in the db_bench application with others balanced between rocksdb:high and rocksdb:low<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>1305 processes\n\t757 db_bench             193886.97 56926.57\n\t 21 rocksdb:high         10643.48  3131.87\n\t 21 rocksdb:low          10643.48  3131.85\n\t 68 clinfo                  15.87     7.32\n\t 38 vulkaninfo               1.12     1.14\n\t  6 php                      0.19     0.19\n\t  6 glxinfo:gdrv0            0.12     0.06\n\t  6 glxinfo:gl0              0.12     0.06\n\t  4 vulkani:disk$0           0.11     0.12\n\t  6 clang                    0.06     0.06\n\t  2 llvmpipe-0               0.06     0.06\n\t  2 llvmpipe-1               0.06     0.06\n\t  2 llvmpipe-10              0.06     0.06\n\t  2 llvmpipe-11              0.06     0.06\n\t  2 llvmpipe-12              0.06     0.06\n\t  2 llvmpipe-13              0.06     0.06\n\t  2 llvmpipe-14              0.06     0.06\n\t  2 llvmpipe-15              0.06     0.06\n\t  2 llvmpipe-2               0.06     0.06\n\t  2 llvmpipe-3               0.06     0.06\n\t  2 llvmpipe-4               0.06     0.06\n\t  2 llvmpipe-5               0.06     0.06\n\t  2 llvmpipe-6               0.06     0.06\n\t  2 llvmpipe-7               0.06     0.06\n\t  2 llvmpipe-8               0.06     0.06\n\t  2 llvmpipe-9               0.06     0.06\n\t  2 glxinfo                  0.06     0.03\n\t  2 glxinfo:cs0              0.06     0.03\n\t  2 glxinfo:disk$0           0.06     0.03\n\t  2 glxinfo:sh0              0.06     0.02\n\t  2 glxinfo:shlo0            0.06     0.02\n\t  3 rocminfo                 0.03     0.00\n\t 42 rm                       0.00     0.22\n\t  1 lspci                    0.00     0.02\n\t 94 sh                       0.00     0.00\n\t 21 rocksdb                  0.00     0.00\n\t 13 gcc                      0.00     0.00\n\t  9 gsettings                0.00     0.00\n\t  8 stat                     0.00     0.00\n\t  8 systemd-detect-          0.00     0.00\n\t  6 llvm-link                0.00     0.00\n\t  5 phoronix-test-s          0.00     0.00\n\t  4 gmain                    0.00     0.00\n\t  3 dconf worker             0.00     0.00\n\t  2 cc                       0.00     0.00\n\t  2 lscpu                    0.00     0.00\n\t  2 uname                    0.00     0.00\n\t  2 which                    0.00     0.00\n\t  2 xset                     0.00     0.00\n\t  1 date                     0.00     0.00\n\t  1 dirname                  0.00     0.00\n\t  1 dmesg                    0.00     0.00\n\t  1 dmidecode                0.00     0.00\n\t  1 grep                     0.00     0.00\n\t  1 ifconfig                 0.00     0.00\n\t  1 ip                       0.00     0.00\n\t  1 lsmod                    0.00     0.00\n\t  1 mktemp                   0.00     0.00\n\t  1 ps                       0.00     0.00\n\t  1 qdbus                    0.00     0.00\n\t  1 readlink                 0.00     0.00\n\t  1 realpath                 0.00     0.00\n\t  1 sed                      0.00     0.00\n\t  1 sort                     0.00     0.00\n\t  1 stty                     0.00     0.00\n\t  1 systemctl                0.00     0.00\n\t  1 template.sh              0.00     0.00\n\t  1 wc                       0.00     0.00\n\t  1 xrandr                   0.00     0.00\n83 processes running\n130 maximum processes\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The ?? processers did not have names, but otherwise looks like straightforward invocations with one rocksdb:low and one rocksdb:high in each test run and otherwise db_bench processes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>      1099628) rocksdb          cpu=4 start=5.51  finish=65.66\n        1099629) rm               cpu=13 start=5.52  finish=5.52 \n        1099630) db_bench         cpu=1 start=5.52  finish=65.63\n          1099631) rocksdb:low      cpu=9 start=5.53  finish=65.63\n          1099632) rocksdb:high     cpu=10 start=5.53  finish=65.63\n          1099633) db_bench         cpu=7 start=5.53  finish=5.53 \n          1099634) db_bench         cpu=6 start=5.53  finish=5.53 \n          1099635) ?? cpu=0 start=5.53  finish=0.00 \n          1099636) db_bench         cpu=8 start=5.53  finish=5.53 \n          1099637) db_bench         cpu=4 start=5.53  finish=5.53 \n          1099638) db_bench         cpu=5 start=5.53  finish=5.53 \n          1099639) ?? cpu=0 start=5.53  finish=0.00 \n          1099640) db_bench         cpu=3 start=5.53  finish=5.53 \n          1099641) ?? cpu=0 start=5.53  finish=0.00 \n          1099642) db_bench         cpu=3 start=5.53  finish=5.53 \n          1099643) db_bench         cpu=1 start=5.53  finish=5.53 \n          1099644) db_bench         cpu=3 start=5.53  finish=5.53 \n          1099645) db_bench         cpu=1 start=5.53  finish=5.53 \n          1099646) ?? cpu=0 start=5.53  finish=0.00 \n          1099647) db_bench         cpu=3 start=5.53  finish=5.53 \n          1099648) db_bench         cpu=7 start=5.54  finish=5.54 \n          1099649) db_bench         cpu=6 start=5.54  finish=5.54 \n          1099650) db_bench         cpu=7 start=5.54  finish=5.54 \n          1099651) ?? cpu=0 start=5.54  finish=0.00 \n          1099652) db_bench         cpu=8 start=5.54  finish=5.54 \n          1099653) ?? cpu=0 start=5.54  finish=0.00 \n          1099654) db_bench         cpu=10 start=5.54  finish=5.54 \n          1099655) db_bench         cpu=1 start=5.54  finish=5.54 \n          1099656) db_bench         cpu=4 start=5.54  finish=5.54 \n          1099657) db_bench         cpu=1 start=5.54  finish=5.54 \n          1099658) ?? cpu=0 start=5.54  finish=0.00 \n          1099659) db_bench         cpu=5 start=5.54  finish=5.54 \n          1099660) db_bench         cpu=6 start=5.54  finish=5.54 \n          1099661) ?? cpu=0 start=5.54  finish=0.00 \n          1099662) db_bench         cpu=7 start=5.54  finish=5.54 \n          1099663) db_bench         cpu=8 start=5.54  finish=5.54 \n          1099664) db_bench         cpu=3 start=5.55  finish=65.56\n          1099665) db_bench         cpu=6 start=5.55  finish=65.56\n          1099666) db_bench         cpu=9 start=5.55  finish=65.56\n          1099667) db_bench         cpu=3 start=5.55  finish=65.55\n          1099668) db_bench         cpu=13 start=5.55  finish=65.55\n          1099669) db_bench         cpu=8 start=5.55  finish=65.55\n          1099670) db_bench         cpu=2 start=5.55  finish=65.56\n          1099671) db_bench         cpu=5 start=5.55  finish=65.55\n          1099672) db_bench         cpu=4 start=5.55  finish=65.56\n          1099673) db_bench         cpu=5 start=5.55  finish=65.56\n          1099674) db_bench         cpu=15 start=5.55  finish=65.56\n          1099675) db_bench         cpu=0 start=5.55  finish=65.56\n          1099676) db_bench         cpu=9 start=5.55  finish=65.55\n          1099677) db_bench         cpu=1 start=5.55  finish=65.55\n          1099678) db_bench         cpu=11 start=5.55  finish=65.56\n          1099679) db_bench         cpu=12 start=5.55  finish=65.55\n          1099680) db_bench         cpu=7 start=5.55  finish=65.56\n        1099683) rm               cpu=13 start=65.63 finish=65.66\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>An embeddable persistent key-value store for fast storage. Seven different operations are measured. Most of these workloads are parallel with as many runnable processes as cores. The amount the cores are busy varies from low for the 5th workload (random <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/mvermeulen.org\/perf\/workloads\/phoronix\/rocksdb\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":58,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-920","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/comments?post=920"}],"version-history":[{"count":4,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/920\/revisions"}],"predecessor-version":[{"id":1832,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/920\/revisions\/1832"}],"up":[{"embeddable":true,"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/pages\/58"}],"wp:attachment":[{"href":"https:\/\/mvermeulen.org\/perf\/wp-json\/wp\/v2\/media?parent=920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}