Hi Igor,

Am 05.05.20 um 16:10 schrieb Igor Fedotov:
> Hi Stefan,
> 
> so (surprise!) some DB access counters show a significant difference, e.g.
> 
>         "kv_flush_lat": {
>             "avgcount": 1423,
>             "sum": 0.000906419,
>             "avgtime": 0.000000636
>         },
>         "kv_sync_lat": {
>             "avgcount": 1423,
>             "sum": 0.712888091,
>             "avgtime": 0.000500975
>         },
> vs.
> 
>      "kv_flush_lat": {
>             "avgcount": 1146,
>             "sum": 3.346228802,
>             "avgtime": 0.002919920
>         },
>       "kv_sync_lat": {
>             "avgcount": 1146,
>             "sum": 3.754915016,
>             "avgtime": 0.003276540
>         },
> 
> Also for bluefs:
> "bytes_written_sst": 0,
> vs.
>  "bytes_written_sst": 59785361,
> 
> Could you please rerun these benchmark/perf counter gathering steps a couple 
> more times and check if the difference is persistent.

I reset all perf counters and ran the bench 10 times on each osd.

OSD 38:
bench: wrote 12 MiB in blocks of 4 KiB in 1.22796 sec at 9.5 MiB/sec
2.44k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.26407 sec at 9.3 MiB/sec
2.37k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.24987 sec at 9.4 MiB/sec
2.40k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.37125 sec at 8.5 MiB/sec
2.19k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.25549 sec at 9.3 MiB/sec
2.39k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.24358 sec at 9.4 MiB/sec
2.41k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.24208 sec at 9.4 MiB/sec
2.42k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.2433 sec at 9.4 MiB/sec
2.41k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.26548 sec at 9.3 MiB/sec
2.37k IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 1.31509 sec at 8.9 MiB/sec
2.28k IOPS

kv_flush_lat.sum: 8.955978864
kv_sync_lat.sum: 10.869536503
bytes_written_sst: 0


OSD 0:
bench: wrote 12 MiB in blocks of 4 KiB in 5.71447 sec at 2.1 MiB/sec 524
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 6.18679 sec at 1.9 MiB/sec 484
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 6.69068 sec at 1.8 MiB/sec 448
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 7.06413 sec at 1.7 MiB/sec 424
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 7.50321 sec at 1.6 MiB/sec 399
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 6.86882 sec at 1.7 MiB/sec 436
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 7.11702 sec at 1.6 MiB/sec 421
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 7.10497 sec at 1.6 MiB/sec 422
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 6.69801 sec at 1.7 MiB/sec 447
IOPS
bench: wrote 12 MiB in blocks of 4 KiB in 7.13588 sec at 1.6 MiB/sec 420
IOPS
kv_flush_lat.sum: 0.003866224
kv_sync_lat.sum: 2.667407139
bytes_written_sst: 34904457

> If that's particularly true for "kv_flush_lat" counter - please rerun with 
> debug-bluefs set to 20 and collect OSD logs for both cases

Yes it's still true for kv_flush_lat - see above. Where to upload / put
those logs?

greets,
Stefan

> 
> Thanks,
> Igor
> 
> On 5/5/2020 11:46 AM, Stefan Priebe - Profihost AG wrote:
>> Hello Igor,
>>
>> Am 30.04.20 um 15:52 schrieb Igor Fedotov:
>>> 1) reset perf counters for the specific OSD
>>>
>>> 2) run bench
>>>
>>> 3) dump perf counters.
>> This is OSD 0:
>>
>> # ceph tell osd.0 bench -f plain 12288000 4096
>> bench: wrote 12 MiB in blocks of 4 KiB in 6.70482 sec at 1.7 MiB/sec 447
>> IOPS
>>
>> https://pastebin.com/raw/hbKcU07g
>>
>> This is OSD 38:
>>
>> # ceph tell osd.38 bench -f plain 12288000 4096
>> bench: wrote 12 MiB in blocks of 4 KiB in 2.01763 sec at 5.8 MiB/sec
>> 1.49k IOPS
>>
>> https://pastebin.com/raw/Tx2ckVm1
>>
>>> Collecting disks' (both main and db) activity with iostat would be nice
>>> too. But please either increase benchmark duration or reduce iostat
>>> probe period to 0.1 or 0.05 second
>> This gives me:
>>
>> # ceph tell osd.38 bench -f plain 122880000 4096
>> Error EINVAL: 'count' values greater than 12288000 for a block size of 4
>> KiB, assuming 100 IOPS, for 30 seconds, can cause ill effects on osd.
>> Please adjust 'osd_bench_small_size_max_iops' with a higher value if you
>> wish to use a higher 'count'.
>>
>> Stefan
>>
>>> Thanks,
>>>
>>> Igor
>>>
>>> On 4/28/2020 8:42 PM, Stefan Priebe - Profihost AG wrote:
>>>> HI Igor,
>>>>
>>>> but the performance issue is still present even on the recreated OSD.
>>>>
>>>> # ceph tell osd.38 bench -f plain 12288000 4096
>>>> bench: wrote 12 MiB in blocks of 4 KiB in 1.63389 sec at 7.2 MiB/sec
>>>> 1.84k IOPS
>>>>
>>>> vs.
>>>>
>>>> # ceph tell osd.10 bench -f plain 12288000 4096
>>>> bench: wrote 12 MiB in blocks of 4 KiB in 10.7454 sec at 1.1 MiB/sec 279
>>>> IOPS
>>>>
>>>> both baked by the same SAMSUNG SSD as block.db.
>>>>
>>>> Greets,
>>>> Stefan
>>>>
>>>> Am 28.04.20 um 19:12 schrieb Stefan Priebe - Profihost AG:
>>>>> Hi Igore,
>>>>> Am 27.04.20 um 15:03 schrieb Igor Fedotov:
>>>>>> Just left a comment at https://tracker.ceph.com/issues/44509
>>>>>>
>>>>>> Generally bdev-new-db performs no migration, RocksDB might
>>>>>> eventually do
>>>>>> that but no guarantee it moves everything.
>>>>>>
>>>>>> One should use bluefs-bdev-migrate to do actual migration.
>>>>>>
>>>>>> And I think that's the root cause for the above ticket.
>>>>> perfect - this removed all spillover in seconds.
>>>>>
>>>>> Greets,
>>>>> Stefan
>>>>>
>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Igor
>>>>>>
>>>>>> On 4/24/2020 2:37 PM, Stefan Priebe - Profihost AG wrote:
>>>>>>> No not a standalone Wal I wanted to ask whether bdev-new-db migrated
>>>>>>> dB and Wal from hdd to ssd.
>>>>>>>
>>>>>>> Stefan
>>>>>>>
>>>>>>>> Am 24.04.2020 um 13:01 schrieb Igor Fedotov <ifedo...@suse.de>:
>>>>>>>>
>>>>>>>> 
>>>>>>>>
>>>>>>>> Unless you have 3 different types of disks beyond OSD (e.g. HDD, SSD,
>>>>>>>> NVMe) standalone WAL makes no sense.
>>>>>>>>
>>>>>>>>
>>>>>>>> On 4/24/2020 1:58 PM, Stefan Priebe - Profihost AG wrote:
>>>>>>>>> Is Wal device missing? Do I need to run *bluefs-bdev-new-db and
>>>>>>>>> Wal?*
>>>>>>>>>
>>>>>>>>> Greets,
>>>>>>>>> Stefan
>>>>>>>>>
>>>>>>>>>> Am 24.04.2020 um 11:32 schrieb Stefan Priebe - Profihost AG
>>>>>>>>>> <s.pri...@profihost.ag>:
>>>>>>>>>>
>>>>>>>>>> Hi Igor,
>>>>>>>>>>
>>>>>>>>>> there must be a difference. I purged osd.0 and recreated it.
>>>>>>>>>>
>>>>>>>>>> Now it gives:
>>>>>>>>>> ceph tell osd.0 bench
>>>>>>>>>> {
>>>>>>>>>>     "bytes_written": 1073741824,
>>>>>>>>>>     "blocksize": 4194304,
>>>>>>>>>>     "elapsed_sec": 8.1554735639999993,
>>>>>>>>>>     "bytes_per_sec": 131659040.46819863,
>>>>>>>>>>     "iops": 31.389961354303033
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> What's wrong wiht adding a block.db device later?
>>>>>>>>>>
>>>>>>>>>> Stefan
>>>>>>>>>>
>>>>>>>>>> Am 23.04.20 um 20:34 schrieb Stefan Priebe - Profihost AG:
>>>>>>>>>>> Hi,
>>>>>>>>>>> if the OSDs are idle the difference is even more worse:
>>>>>>>>>>> # ceph tell osd.0 bench
>>>>>>>>>>> {
>>>>>>>>>>>      "bytes_written": 1073741824,
>>>>>>>>>>>      "blocksize": 4194304,
>>>>>>>>>>>      "elapsed_sec": 15.396707875000001,
>>>>>>>>>>>      "bytes_per_sec": 69738403.346825853,
>>>>>>>>>>>      "iops": 16.626931034761871
>>>>>>>>>>> }
>>>>>>>>>>> # ceph tell osd.38 bench
>>>>>>>>>>> {
>>>>>>>>>>>      "bytes_written": 1073741824,
>>>>>>>>>>>      "blocksize": 4194304,
>>>>>>>>>>>      "elapsed_sec": 6.8903985170000004,
>>>>>>>>>>>      "bytes_per_sec": 155831599.77624846,
>>>>>>>>>>>      "iops": 37.153148597776521
>>>>>>>>>>> }
>>>>>>>>>>> Stefan
>>>>>>>>>>> Am 23.04.20 um 14:39 schrieb Stefan Priebe - Profihost AG:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> Am 23.04.20 um 14:06 schrieb Igor Fedotov:
>>>>>>>>>>>>> I don't recall any additional tuning to be applied to new DB
>>>>>>>>>>>>> volume. And assume the hardware is pretty the same...
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do you still have any significant amount of data spilled over
>>>>>>>>>>>>> for these updated OSDs? If not I don't have any valid
>>>>>>>>>>>>> explanation for the phenomena.
>>>>>>>>>>>> just the 64k from here:
>>>>>>>>>>>> https://tracker.ceph.com/issues/44509
>>>>>>>>>>>>
>>>>>>>>>>>>> You might want to try "ceph osd bench" to compare OSDs under
>>>>>>>>>>>>> pretty the same load. Any difference observed
>>>>>>>>>>>> Servers are the same HW. OSD Bench is:
>>>>>>>>>>>> # ceph tell osd.0 bench
>>>>>>>>>>>> {
>>>>>>>>>>>>       "bytes_written": 1073741824,
>>>>>>>>>>>>       "blocksize": 4194304,
>>>>>>>>>>>>       "elapsed_sec": 16.091414781000001,
>>>>>>>>>>>>       "bytes_per_sec": 66727620.822242722,
>>>>>>>>>>>>       "iops": 15.909104543266945
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> # ceph tell osd.36 bench
>>>>>>>>>>>> {
>>>>>>>>>>>>       "bytes_written": 1073741824,
>>>>>>>>>>>>       "blocksize": 4194304,
>>>>>>>>>>>>       "elapsed_sec": 10.023828538,
>>>>>>>>>>>>       "bytes_per_sec": 107118933.6419194,
>>>>>>>>>>>>       "iops": 25.539143953780986
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> OSD 0 is a Toshiba MG07SCA12TA SAS 12G
>>>>>>>>>>>> OSD 36 is a Seagate ST12000NM0008-2H SATA 6G
>>>>>>>>>>>>
>>>>>>>>>>>> SSDs are all the same like the rest of the HW. But both drives
>>>>>>>>>>>> should give the same performance from their specs. The only other
>>>>>>>>>>>> difference is that OSD 36 was directly created with the block.db
>>>>>>>>>>>> device (Nautilus 14.2.7) and OSD 0 (14.2.8) does not.
>>>>>>>>>>>>
>>>>>>>>>>>> Stefan
>>>>>>>>>>>>
>>>>>>>>>>>>> On 4/23/2020 8:35 AM, Stefan Priebe - Profihost AG wrote:
>>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> is there anything else needed beside running:
>>>>>>>>>>>>>> ceph-bluestore-tool --path /var/lib/ceph/osd/ceph-${OSD}
>>>>>>>>>>>>>> bluefs-bdev-new-db --dev-target /dev/vgroup/lvdb-1
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I did so some weeks ago and currently i'm seeing that all osds
>>>>>>>>>>>>>> originally deployed with --block-db show 10-20% I/O waits while
>>>>>>>>>>>>>> all those got converted using ceph-bluestore-tool show 80-100%
>>>>>>>>>>>>>> I/O waits.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Also is there some tuning available to use more of the SSD? The
>>>>>>>>>>>>>> SSD (block-db) is only saturated at 0-2%.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Greets,
>>>>>>>>>>>>>> Stefan
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> ceph-users mailing list -- ceph-users@ceph.io
>>>>>>>>>>>>>> To unsubscribe send an email to ceph-users-le...@ceph.io
>>> _______________________________________________
>>> ceph-users mailing list -- ceph-users@ceph.io
>>> To unsubscribe send an email to ceph-users-le...@ceph.io
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Reply via email to