Livejournal
Log in
Post
Friends
My journal
amarao_san
Об истинной производительности
Nov 22, 2013 15:17
Сейчас в рассылке ceph'а кто-то начал бухтеть по поводу того, что 530 интелы фиговее 520, слово за слово, и там всплыла крайне любопытная вещь, которую я раньше не знал (
Read more...
)
linux kernel
,
block storage
,
linux block devices
,
схд
Leave a comment
Comments 3
wizzard0
November 22 2013, 14:10:43 UTC
bs=64k+full sync guarantees gives you 8x write amplification because native ssd block size is typically 512kb.
this also may explain the difference in performance.
Reply
amarao_san
November 22 2013, 14:26:36 UTC
Nope, the maximal size of the data chunk, available for transfer in single operaion, noted in /sys/block/*/queue/max_hw_sectors_kb.
In my case it is 32767 (kb!)
How device is processing large data chunk for writing - is separate issue. I'm not sure if there is some kind of transaction...
Reply
wizzard0
November 22 2013, 14:31:58 UTC
*Minimum* erasable unit in most SSDs is 512kb.
So, I am pretty sure that a full synchronous write will request a 512kb chunk from the SSD, read it, erase in full, append your 64k, write.
Rinse, repeat.
Reply
Leave a comment
Up
Comments 3
this also may explain the difference in performance.
Reply
In my case it is 32767 (kb!)
How device is processing large data chunk for writing - is separate issue. I'm not sure if there is some kind of transaction...
Reply
So, I am pretty sure that a full synchronous write will request a 512kb chunk from the SSD, read it, erase in full, append your 64k, write.
Rinse, repeat.
Reply
Leave a comment