Simplify/modify/refactor Blobovniczas #18

Closed
opened 2023-01-18 15:13:57 +00:00 by carpawell · 6 comments
carpawell commented 2023-01-18 15:13:57 +00:00 (Migrated from github.com)

It becomes hard to maintain its code and it still contains some bugs (at least many could not read object from opened blobovnicza {"path": "9/0/0", "error": "database not open"} was found by me). No performance argumentation is remembered, no open blzs cache understanding has been kept by the devs, etc.

Revise its structure (i mean the blobovniczas tree), understand if it helps to have such a nested structure and if it is much more better than the flat one. Also, does the node have to close databases? Is ~5K open files too big for a production server?

It becomes hard to maintain its code and it still contains some bugs (at least many `could not read object from opened blobovnicza {"path": "9/0/0", "error": "database not open"}` was found by me). No performance argumentation is remembered, no open blzs cache understanding has been kept by the devs, etc. Revise its structure (i mean the blobovniczas tree), understand if it helps to have such a nested structure and if it is much more better than the flat one. Also, does the node have to close databases? Is ~5K open files too big for a production server?
ale64bit was assigned by fyrchik 2023-03-10 05:57:22 +00:00
Owner

Let's first try a single bolt DB.

Let's first try a single bolt DB.
Owner

I'd suggest keep the ability to have more than one blobovnicza instance per shard for the case when we may hit single BBoltDB performance limit.

I'd suggest keep the ability to have more than one blobovnicza instance per shard for the case when we may hit single BBoltDB performance limit.
fyrchik added a new dependency 2023-03-10 07:06:09 +00:00
fyrchik added a new dependency 2023-03-10 07:06:24 +00:00
Owner

@realloc of course. We would like to try simple bolt db (the backend itself could be reused in write-cache, for example), see when degradation occurs with TrueCloudLab/xk6-frostfs#14 , then with this data in mind try flat structure with multiple blobovniczas.

@realloc of course. We would like to try simple bolt db (the backend itself could be reused in write-cache, for example), see when degradation occurs with TrueCloudLab/xk6-frostfs#14 , then with this data in mind try flat structure with multiple blobovniczas.
fyrchik added this to the vNext milestone 2023-05-18 08:55:07 +00:00
Member

Here's a small comparison for write workloads. The blobovnicza config is the standard one, while the flat bolt implementation is the one here, with 8 database files per substorage:

Blobovnicza:

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=2 -e READERS=0 -e WRITERS=1 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B    0 B/s
     data_sent................: 2.9 MB 24 kB/s
     iteration_duration.......: avg=83.86ms min=135.77µs med=83.01ms max=129.32ms p(90)=96.94ms p(95)=102.9ms 
     iterations...............: 1429   11.9028/s
     local_obj_put_duration...: avg=83.06ms min=54.11ms  med=82.13ms max=128.33ms p(90)=95.88ms p(95)=101.97ms
     local_obj_put_total......: 1429   11.9028/s
     vus......................: 1      min=1     max=1

k6 run -e DURATION=60 -e WRITE_OBJ_SIZE=4 -e READERS=0 -e WRITERS=20 -e DELETERS=4 -e DELETE_AGE=10 (...) ./local.js

     data_received...............: 0 B   0 B/s
     data_sent...................: 69 MB 1.1 MB/s
     iteration_duration..........: avg=49.18ms  min=227.12µs med=50.21ms  max=9.98s    p(90)=90.41ms  p(95)=106.94ms
     iterations..................: 29286 487.047261/s
     local_obj_delete_duration...: avg=461.88µs min=311.89µs med=410.68µs max=4.23ms   p(90)=597.65µs p(95)=693.76µs
     local_obj_delete_total......: 12558 208.84858/s
     local_obj_put_duration......: avg=70.83ms  min=15.77ms  med=65.23ms  max=300.66ms p(90)=102.32ms p(95)=117.89ms
     local_obj_put_total.........: 16728 278.198681/s
     vus.........................: 24    min=24       max=24

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=8 -e READERS=0 -e WRITERS=40 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B    0 B/s
     data_sent................: 469 MB 3.9 MB/s
     iteration_duration.......: avg=83.83ms min=350.47µs med=73.42ms max=956.44ms p(90)=127.97ms p(95)=149.5ms 
     iterations...............: 57261  476.629324/s
     local_obj_put_duration...: avg=82.8ms  min=14.62ms  med=72.43ms max=952.12ms p(90)=126.76ms p(95)=148.12ms
     local_obj_put_total......: 57261  476.629324/s
     vus......................: 40     min=40       max=40

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=1 -e READERS=0 -e WRITERS=100 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B   0 B/s
     data_sent................: 72 MB 601 kB/s
     iteration_duration.......: avg=170.18ms min=1.39ms  med=139.31ms max=1.39s p(90)=307.67ms p(95)=371.35ms
     iterations...............: 70541 586.942524/s
     local_obj_put_duration...: avg=168.27ms min=26.93ms med=137.64ms max=1.39s p(90)=304.64ms p(95)=367.66ms
     local_obj_put_total......: 70541 586.942524/s
     vus......................: 100   min=100      max=100

Boltstore:

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=2 -e READERS=0 -e WRITERS=1 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B    0 B/s
     data_sent................: 2.8 MB 24 kB/s
     iteration_duration.......: avg=86.91ms min=136.25µs med=84ms    max=274.69ms p(90)=104.93ms p(95)=110.55ms
     iterations...............: 1379   11.485298/s
     local_obj_put_duration...: avg=86.09ms min=54.14ms  med=83.08ms max=273.83ms p(90)=104.05ms p(95)=109.56ms
     local_obj_put_total......: 1379   11.485298/s
     vus......................: 1      min=1       max=1

k6 run -e DURATION=60 -e WRITE_OBJ_SIZE=4 -e READERS=0 -e WRITERS=20 -e DELETERS=4 -e DELETE_AGE=10 (...) ./local.js

     data_received...............: 0 B   0 B/s
     data_sent...................: 69 MB 1.1 MB/s
     iteration_duration..........: avg=42.49ms  min=171.39µs med=5.14ms   max=9.29s    p(90)=84.99ms  p(95)=101.43ms
     iterations..................: 33982 557.839918/s
     local_obj_delete_duration...: avg=523.27µs min=330.13µs med=441.44µs max=8.04ms   p(90)=662.7µs  p(95)=810.21µs
     local_obj_delete_total......: 17168 281.825546/s
     local_obj_put_duration......: avg=70.46ms  min=14.19ms  med=65.17ms  max=502.32ms p(90)=100.17ms p(95)=114.84ms
     local_obj_put_total.........: 16814 276.014372/s
     vus.........................: 24    min=24       max=24

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=8 -e READERS=0 -e WRITERS=40 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B    0 B/s
     data_sent................: 469 MB 3.9 MB/s
     iteration_duration.......: avg=83.83ms min=191.91µs med=73.59ms max=897.56ms p(90)=128.81ms p(95)=149.97ms
     iterations...............: 57265  476.750961/s
     local_obj_put_duration...: avg=82.82ms min=14.8ms   med=72.61ms max=896.58ms p(90)=127.64ms p(95)=148.62ms
     local_obj_put_total......: 57265  476.750961/s
     vus......................: 40     min=40       max=40

     data_received............: 0 B    0 B/s
     data_sent................: 476 MB 4.0 MB/s
     iteration_duration.......: avg=82.52ms min=281.64µs med=72.8ms max=723.01ms p(90)=126.74ms p(95)=147.24ms
     iterations...............: 58166  484.262477/s
     local_obj_put_duration...: avg=81.47ms min=16.08ms  med=71.8ms max=721.62ms p(90)=125.49ms p(95)=145.92ms
     local_obj_put_total......: 58166  484.262477/s
     vus......................: 40     min=40       max=40

k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=1 -e READERS=0 -e WRITERS=100 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js

     data_received............: 0 B   0 B/s
     data_sent................: 81 MB 668 kB/s
     iteration_duration.......: avg=152.41ms min=221.26µs med=111.69ms max=1.09s p(90)=283.15ms p(95)=388.63ms
     iterations...............: 78825 652.983412/s
     local_obj_put_duration...: avg=151.47ms min=26.64ms  med=110.75ms max=1.08s p(90)=282.23ms p(95)=387.77ms
     local_obj_put_total......: 78825 652.983412/s
     vus......................: 100   min=100      max=100

Overall, they are both rather slow for write workloads, which is confirmed by the Go benchmarks as well. This might have to do with the underlying database itself (bbolt). A LSMT-based implementation (badger, leveldb) might perform a lot better.

Here's a small comparison for write workloads. The blobovnicza config is the standard one, while the flat bolt implementation is the one [here](https://git.frostfs.info/ale64bit/frostfs-node/src/branch/feature/flat-blobstore-test), with 8 database files per substorage: Blobovnicza: ``` k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=2 -e READERS=0 -e WRITERS=1 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 2.9 MB 24 kB/s iteration_duration.......: avg=83.86ms min=135.77µs med=83.01ms max=129.32ms p(90)=96.94ms p(95)=102.9ms iterations...............: 1429 11.9028/s local_obj_put_duration...: avg=83.06ms min=54.11ms med=82.13ms max=128.33ms p(90)=95.88ms p(95)=101.97ms local_obj_put_total......: 1429 11.9028/s vus......................: 1 min=1 max=1 k6 run -e DURATION=60 -e WRITE_OBJ_SIZE=4 -e READERS=0 -e WRITERS=20 -e DELETERS=4 -e DELETE_AGE=10 (...) ./local.js data_received...............: 0 B 0 B/s data_sent...................: 69 MB 1.1 MB/s iteration_duration..........: avg=49.18ms min=227.12µs med=50.21ms max=9.98s p(90)=90.41ms p(95)=106.94ms iterations..................: 29286 487.047261/s local_obj_delete_duration...: avg=461.88µs min=311.89µs med=410.68µs max=4.23ms p(90)=597.65µs p(95)=693.76µs local_obj_delete_total......: 12558 208.84858/s local_obj_put_duration......: avg=70.83ms min=15.77ms med=65.23ms max=300.66ms p(90)=102.32ms p(95)=117.89ms local_obj_put_total.........: 16728 278.198681/s vus.........................: 24 min=24 max=24 k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=8 -e READERS=0 -e WRITERS=40 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 469 MB 3.9 MB/s iteration_duration.......: avg=83.83ms min=350.47µs med=73.42ms max=956.44ms p(90)=127.97ms p(95)=149.5ms iterations...............: 57261 476.629324/s local_obj_put_duration...: avg=82.8ms min=14.62ms med=72.43ms max=952.12ms p(90)=126.76ms p(95)=148.12ms local_obj_put_total......: 57261 476.629324/s vus......................: 40 min=40 max=40 k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=1 -e READERS=0 -e WRITERS=100 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 72 MB 601 kB/s iteration_duration.......: avg=170.18ms min=1.39ms med=139.31ms max=1.39s p(90)=307.67ms p(95)=371.35ms iterations...............: 70541 586.942524/s local_obj_put_duration...: avg=168.27ms min=26.93ms med=137.64ms max=1.39s p(90)=304.64ms p(95)=367.66ms local_obj_put_total......: 70541 586.942524/s vus......................: 100 min=100 max=100 ``` Boltstore: ``` k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=2 -e READERS=0 -e WRITERS=1 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 2.8 MB 24 kB/s iteration_duration.......: avg=86.91ms min=136.25µs med=84ms max=274.69ms p(90)=104.93ms p(95)=110.55ms iterations...............: 1379 11.485298/s local_obj_put_duration...: avg=86.09ms min=54.14ms med=83.08ms max=273.83ms p(90)=104.05ms p(95)=109.56ms local_obj_put_total......: 1379 11.485298/s vus......................: 1 min=1 max=1 k6 run -e DURATION=60 -e WRITE_OBJ_SIZE=4 -e READERS=0 -e WRITERS=20 -e DELETERS=4 -e DELETE_AGE=10 (...) ./local.js data_received...............: 0 B 0 B/s data_sent...................: 69 MB 1.1 MB/s iteration_duration..........: avg=42.49ms min=171.39µs med=5.14ms max=9.29s p(90)=84.99ms p(95)=101.43ms iterations..................: 33982 557.839918/s local_obj_delete_duration...: avg=523.27µs min=330.13µs med=441.44µs max=8.04ms p(90)=662.7µs p(95)=810.21µs local_obj_delete_total......: 17168 281.825546/s local_obj_put_duration......: avg=70.46ms min=14.19ms med=65.17ms max=502.32ms p(90)=100.17ms p(95)=114.84ms local_obj_put_total.........: 16814 276.014372/s vus.........................: 24 min=24 max=24 k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=8 -e READERS=0 -e WRITERS=40 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 469 MB 3.9 MB/s iteration_duration.......: avg=83.83ms min=191.91µs med=73.59ms max=897.56ms p(90)=128.81ms p(95)=149.97ms iterations...............: 57265 476.750961/s local_obj_put_duration...: avg=82.82ms min=14.8ms med=72.61ms max=896.58ms p(90)=127.64ms p(95)=148.62ms local_obj_put_total......: 57265 476.750961/s vus......................: 40 min=40 max=40 data_received............: 0 B 0 B/s data_sent................: 476 MB 4.0 MB/s iteration_duration.......: avg=82.52ms min=281.64µs med=72.8ms max=723.01ms p(90)=126.74ms p(95)=147.24ms iterations...............: 58166 484.262477/s local_obj_put_duration...: avg=81.47ms min=16.08ms med=71.8ms max=721.62ms p(90)=125.49ms p(95)=145.92ms local_obj_put_total......: 58166 484.262477/s vus......................: 40 min=40 max=40 k6 run -e DURATION=120 -e WRITE_OBJ_SIZE=1 -e READERS=0 -e WRITERS=100 -e DELETERS=0 -e DELETE_AGE=0 (...) ./local.js data_received............: 0 B 0 B/s data_sent................: 81 MB 668 kB/s iteration_duration.......: avg=152.41ms min=221.26µs med=111.69ms max=1.09s p(90)=283.15ms p(95)=388.63ms iterations...............: 78825 652.983412/s local_obj_put_duration...: avg=151.47ms min=26.64ms med=110.75ms max=1.08s p(90)=282.23ms p(95)=387.77ms local_obj_put_total......: 78825 652.983412/s vus......................: 100 min=100 max=100 ``` Overall, they are both rather slow for write workloads, which is confirmed by the Go benchmarks as well. This might have to do with the underlying database itself (bbolt). A LSMT-based implementation (badger, leveldb) might perform a lot better.
Member

Here's a comparison for write workloads between blobovnicza and a single badger DB.

Test conditions:

  • all tests run for 20min
  • object sizes: 1KB, 4KB, 64KB, 128KB
  • number of writers: 1, 8, 48, 192
  • uses production node
  • both blobvnicza's and badger's backing storage is an isolated HDD
  • no writecache
  • no fstree
  • no other storage implementation is concurrently operating

Common config:

storage:
    shard_pool_size: 400
    shard_ro_error_threshold: 100
    shard:
        0:
            resync_metabase: false
            small_object_size: 128kb
            gc:
                remover_batch_size: 2500
                remover_sleep_interval: 10s
            compress: false

Blobovnicza config:

            -   path: /path/to/blobovnicza
                type: blobovnicza
                depth: 2
                width: 10
                opened_cache_capacity: 1000
                perm: '0644'
                size: 400gb

Badger config:

            -   path: /path/to/badgerstore
                type: badgerstore
                perm: '0644'
                size: 400gb
                num_compactors: 6
                num_goroutines: 16
                num_level_zero_tables: 5
                num_level_zero_tables_stall: 15
                num_memtables: 8
                memtable_size: 67108864
                max_levels: 7
                level_size_multipler: 10
                value_log_max_entries: 1000000
                gc_interval: 10

Request Duration:

Blobovnicza Badger
blobovnicza_1200s_1KB_1w_req_duration.png badgerstore_1200s_1KB_1w_req_duration.png
blobovnicza_1200s_1KB_8w_req_duration.png badgerstore_1200s_1KB_8w_req_duration.png
blobovnicza_1200s_1KB_48w_req_duration.png badgerstore_1200s_1KB_48w_req_duration.png
blobovnicza_1200s_1KB_192w_req_duration.png badgerstore_1200s_1KB_192w_req_duration.png
blobovnicza_1200s_4KB_1w_req_duration.png badgerstore_1200s_4KB_1w_req_duration.png
blobovnicza_1200s_4KB_8w_req_duration.png badgerstore_1200s_4KB_8w_req_duration.png
blobovnicza_1200s_4KB_48w_req_duration.png badgerstore_1200s_4KB_48w_req_duration.png
blobovnicza_1200s_4KB_192w_req_duration.png badgerstore_1200s_4KB_192w_req_duration.png
blobovnicza_1200s_64KB_1w_req_duration.png badgerstore_1200s_64KB_1w_req_duration.png
blobovnicza_1200s_64KB_8w_req_duration.png badgerstore_1200s_64KB_8w_req_duration.png
blobovnicza_1200s_64KB_48w_req_duration.png badgerstore_1200s_64KB_48w_req_duration.png
blobovnicza_1200s_64KB_192w_req_duration.png badgerstore_1200s_64KB_192w_req_duration.png
blobovnicza_1200s_128KB_1w_req_duration.png badgerstore_1200s_128KB_1w_req_duration.png
blobovnicza_1200s_128KB_8w_req_duration.png badgerstore_1200s_128KB_8w_req_duration.png
blobovnicza_1200s_128KB_48w_req_duration.png badgerstore_1200s_128KB_48w_req_duration.png
blobovnicza_1200s_128KB_192w_req_duration.png badgerstore_1200s_128KB_192w_req_duration.png

Request count:

Blobovnicza Badger
blobovnicza_1200s_1KB_1w_iterations.png badgerstore_1200s_1KB_1w_iterations.png
blobovnicza_1200s_1KB_8w_iterations.png badgerstore_1200s_1KB_8w_iterations.png
blobovnicza_1200s_1KB_48w_iterations.png badgerstore_1200s_1KB_48w_iterations.png
blobovnicza_1200s_1KB_192w_iterations.png badgerstore_1200s_1KB_192w_iterations.png
blobovnicza_1200s_4KB_1w_iterations.png badgerstore_1200s_4KB_1w_iterations.png
blobovnicza_1200s_4KB_8w_iterations.png badgerstore_1200s_4KB_8w_iterations.png
blobovnicza_1200s_4KB_48w_iterations.png badgerstore_1200s_4KB_48w_iterations.png
blobovnicza_1200s_4KB_192w_iterations.png badgerstore_1200s_4KB_192w_iterations.png
blobovnicza_1200s_64KB_1w_iterations.png badgerstore_1200s_64KB_1w_iterations.png
blobovnicza_1200s_64KB_8w_iterations.png badgerstore_1200s_64KB_8w_iterations.png
blobovnicza_1200s_64KB_48w_iterations.png badgerstore_1200s_64KB_48w_iterations.png
blobovnicza_1200s_64KB_192w_iterations.png badgerstore_1200s_64KB_192w_iterations.png
blobovnicza_1200s_128KB_1w_iterations.png badgerstore_1200s_128KB_1w_iterations.png
blobovnicza_1200s_128KB_8w_iterations.png badgerstore_1200s_128KB_8w_iterations.png
blobovnicza_1200s_128KB_48w_iterations.png badgerstore_1200s_128KB_48w_iterations.png
blobovnicza_1200s_128KB_192w_iterations.png badgerstore_1200s_128KB_192w_iterations.png
Here's a comparison for write workloads between blobovnicza and a single badger DB. Test conditions: - all tests run for 20min - object sizes: 1KB, 4KB, 64KB, 128KB - number of writers: 1, 8, 48, 192 - uses production node - both blobvnicza's and badger's backing storage is an isolated HDD - no writecache - no fstree - no other storage implementation is concurrently operating Common config: ```yaml storage: shard_pool_size: 400 shard_ro_error_threshold: 100 shard: 0: resync_metabase: false small_object_size: 128kb gc: remover_batch_size: 2500 remover_sleep_interval: 10s compress: false ``` Blobovnicza config: ```yaml - path: /path/to/blobovnicza type: blobovnicza depth: 2 width: 10 opened_cache_capacity: 1000 perm: '0644' size: 400gb ``` Badger config: ```yaml - path: /path/to/badgerstore type: badgerstore perm: '0644' size: 400gb num_compactors: 6 num_goroutines: 16 num_level_zero_tables: 5 num_level_zero_tables_stall: 15 num_memtables: 8 memtable_size: 67108864 max_levels: 7 level_size_multipler: 10 value_log_max_entries: 1000000 gc_interval: 10 ``` Request Duration: Blobovnicza | Badger :-------------------------:|:-------------------------: ![blobovnicza_1200s_1KB_1w_req_duration.png](/attachments/d7a0e372-1e9c-42ec-8fb0-7e84e8c71aaf) | ![badgerstore_1200s_1KB_1w_req_duration.png](/attachments/4662c206-1b00-4d85-8cfb-2685f960d6ab) ![blobovnicza_1200s_1KB_8w_req_duration.png](/attachments/30cd385a-60c4-434f-9098-9c39f07f73f3) | ![badgerstore_1200s_1KB_8w_req_duration.png](/attachments/6c46f169-3a53-4552-b6fe-f2e993120109) ![blobovnicza_1200s_1KB_48w_req_duration.png](/attachments/50726184-0943-4295-bc24-3f6e17299df8) | ![badgerstore_1200s_1KB_48w_req_duration.png](/attachments/0e36b0db-60e5-49d8-a14b-918039cef33c) ![blobovnicza_1200s_1KB_192w_req_duration.png](/attachments/f954f99a-9363-4cd7-8ece-aa96f0d4878e) | ![badgerstore_1200s_1KB_192w_req_duration.png](/attachments/1cbb0866-ebcf-415e-a641-5ae357480764) ![blobovnicza_1200s_4KB_1w_req_duration.png](/attachments/85cf08ac-cbe3-441c-b010-51b08a8ae96f) | ![badgerstore_1200s_4KB_1w_req_duration.png](/attachments/68c00cd7-9929-4037-84e6-5f2be34da553) ![blobovnicza_1200s_4KB_8w_req_duration.png](/attachments/c7ab6059-ae23-4bb9-afb9-d3a1bdded5e8) | ![badgerstore_1200s_4KB_8w_req_duration.png](/attachments/2f98d5f6-6de7-46c5-afd8-e47f02fa93c2) ![blobovnicza_1200s_4KB_48w_req_duration.png](/attachments/1cd132ce-79c2-4fbf-8101-8a7268f76b44) | ![badgerstore_1200s_4KB_48w_req_duration.png](/attachments/c5bc1afb-20bd-4e93-a679-2f546e5b1c18) ![blobovnicza_1200s_4KB_192w_req_duration.png](/attachments/6f07403e-e0be-4d04-b402-00968ec7c329) | ![badgerstore_1200s_4KB_192w_req_duration.png](/attachments/725e979d-3633-445a-894a-66e3a55a4d28) ![blobovnicza_1200s_64KB_1w_req_duration.png](/attachments/9a742144-c2e4-467b-84ad-5d757f9cc5dd) | ![badgerstore_1200s_64KB_1w_req_duration.png](/attachments/6f57c4d9-0518-4533-ae12-24111ce46a97) ![blobovnicza_1200s_64KB_8w_req_duration.png](/attachments/639f5e21-4955-4b4c-8b75-9b4a526d47eb) | ![badgerstore_1200s_64KB_8w_req_duration.png](/attachments/a55cf964-7ba2-4a79-8db0-a585f04b3f38) ![blobovnicza_1200s_64KB_48w_req_duration.png](/attachments/158c5a97-23f2-4467-8ae5-8e78c053d03b) | ![badgerstore_1200s_64KB_48w_req_duration.png](/attachments/ac171751-0d9f-4e33-9628-29a56a800937) ![blobovnicza_1200s_64KB_192w_req_duration.png](/attachments/c0fdc4d1-33b1-4945-9911-80c33584d468) | ![badgerstore_1200s_64KB_192w_req_duration.png](/attachments/2e75f96c-e55d-490b-9830-0cf900b95221) ![blobovnicza_1200s_128KB_1w_req_duration.png](/attachments/e4f1da82-203e-4135-9cdc-6f6c10a6c763) | ![badgerstore_1200s_128KB_1w_req_duration.png](/attachments/d32232f6-c8d8-40af-b54f-facaf5a51c86) ![blobovnicza_1200s_128KB_8w_req_duration.png](/attachments/901e886c-c002-4cc4-85fc-1b1b11aa18db) | ![badgerstore_1200s_128KB_8w_req_duration.png](/attachments/05a0971f-1555-47cd-8305-68ec06df227d) ![blobovnicza_1200s_128KB_48w_req_duration.png](/attachments/3caa9aca-257b-44c2-a08e-a62bf4b8adc9) | ![badgerstore_1200s_128KB_48w_req_duration.png](/attachments/79a7b7c4-e35e-403a-b57d-ae4fe2a6aa04) ![blobovnicza_1200s_128KB_192w_req_duration.png](/attachments/874a8183-4f9e-4fdc-afba-972e46ced191) | ![badgerstore_1200s_128KB_192w_req_duration.png](/attachments/c67dfa07-2a54-409b-a2bd-150b8ca83de3) Request count: Blobovnicza | Badger :-------------------------:|:-------------------------: ![blobovnicza_1200s_1KB_1w_iterations.png](/attachments/c48e562d-4ea4-4a18-aa86-5ba2f8a16d42) | ![badgerstore_1200s_1KB_1w_iterations.png](/attachments/9ca701a7-09c3-4b62-9b0c-b131d275dc37) ![blobovnicza_1200s_1KB_8w_iterations.png](/attachments/ec740add-8052-47be-b6f2-d6cf4630709a) | ![badgerstore_1200s_1KB_8w_iterations.png](/attachments/e9bc1a54-75af-4baa-940b-096ab64d5d11) ![blobovnicza_1200s_1KB_48w_iterations.png](/attachments/a060ba71-e32a-4e9b-95e7-7081539a495b) | ![badgerstore_1200s_1KB_48w_iterations.png](/attachments/b66b2cd0-b89f-4b4e-be81-24f849a39a62) ![blobovnicza_1200s_1KB_192w_iterations.png](/attachments/9d494a5c-925b-4b09-b6b1-f4850ef253c2) | ![badgerstore_1200s_1KB_192w_iterations.png](/attachments/a129b542-0c76-466e-b25e-5a2be0c08c5a) ![blobovnicza_1200s_4KB_1w_iterations.png](/attachments/9b8f7ae6-bbe0-44ac-ab18-a2ad227d05ee) | ![badgerstore_1200s_4KB_1w_iterations.png](/attachments/fb6c281d-9409-4658-bdc9-7534dbc37470) ![blobovnicza_1200s_4KB_8w_iterations.png](/attachments/a2a3dbe4-571e-4b6f-a6c0-add4dcd7df11) | ![badgerstore_1200s_4KB_8w_iterations.png](/attachments/eaebc94f-7629-4daf-9f0d-fb1c5943cefc) ![blobovnicza_1200s_4KB_48w_iterations.png](/attachments/cee8da69-2e35-45be-9dd6-68fba52ef3d3) | ![badgerstore_1200s_4KB_48w_iterations.png](/attachments/bcc7fbcf-36d3-4738-884e-a2d12a614c14) ![blobovnicza_1200s_4KB_192w_iterations.png](/attachments/b86dcef4-ed54-407c-9b67-15cb3ebc03ff) | ![badgerstore_1200s_4KB_192w_iterations.png](/attachments/1cec26ba-e6de-40d7-b7b1-6366b18166c7) ![blobovnicza_1200s_64KB_1w_iterations.png](/attachments/375e2f72-91d1-4e3c-acec-0787236e9a54) | ![badgerstore_1200s_64KB_1w_iterations.png](/attachments/2ddd986d-8d2e-46bc-b415-da445c640262) ![blobovnicza_1200s_64KB_8w_iterations.png](/attachments/2d9b044c-eba6-499d-b747-548a12122a9b) | ![badgerstore_1200s_64KB_8w_iterations.png](/attachments/eb93d904-a80c-43a9-b653-45154c862236) ![blobovnicza_1200s_64KB_48w_iterations.png](/attachments/67d13bf7-c651-4f1d-8c1c-b2ce9526ddb0) | ![badgerstore_1200s_64KB_48w_iterations.png](/attachments/c3753a53-332f-48ac-8207-98ebad6c4c4a) ![blobovnicza_1200s_64KB_192w_iterations.png](/attachments/39e309dc-24ee-4273-9d1b-73182892ea3e) | ![badgerstore_1200s_64KB_192w_iterations.png](/attachments/946e2d7a-3157-459b-a66d-19903f1148f9) ![blobovnicza_1200s_128KB_1w_iterations.png](/attachments/2f8a5c9e-dbbc-4d2f-aab6-1333ef486a3a) | ![badgerstore_1200s_128KB_1w_iterations.png](/attachments/00a4f185-ca3b-428b-90a9-9e0fe19d9536) ![blobovnicza_1200s_128KB_8w_iterations.png](/attachments/c777778c-9675-4af5-aca3-7a644ee48924) | ![badgerstore_1200s_128KB_8w_iterations.png](/attachments/6b901f95-9fd5-4ee4-9e0d-0ba0fc627c65) ![blobovnicza_1200s_128KB_48w_iterations.png](/attachments/bde28eac-8ccf-440c-a9c8-c8497a57d8a9) | ![badgerstore_1200s_128KB_48w_iterations.png](/attachments/3daefe5d-0668-4a81-bc7e-5eb6d6a446fe) ![blobovnicza_1200s_128KB_192w_iterations.png](/attachments/93027bef-09f1-4bf3-9eb1-bf7afe160800) | ![badgerstore_1200s_128KB_192w_iterations.png](/attachments/fa0dc498-216b-4b4a-90f7-ad8e4b4874df)
Owner

We have added leaf_width and allow to rebuild the whole tree in the runtime.
Cache problems are also fixed, I am closing this.
Working on other blobstor prototypes is being done in separate tasks.

We have added `leaf_width` and allow to rebuild the whole tree in the runtime. Cache problems are also fixed, I am closing this. Working on other blobstor prototypes is being done in separate tasks.
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Depends on
#14 Add local targets
TrueCloudLab/xk6-frostfs
Reference: TrueCloudLab/frostfs-node#18
No description provided.