0
First of all, I am new to disks, I just know the basics. I am trying to improve performance of a software with heavy I/O and I need to understand how my SAS disks work in terms of read and write speed.
I have done very basic read/write tests and I have noticed what seems to be a 'Write cliff'. Disks have several TB of storage capacity, and the machine they are connected to has 630GB of RAM. My tests show that after ~200GB of intensive writing, the writing speed falls from ~2000MBps to ~300MBps.
I guess there is some kind of big buffer or caché that fills up at some point, and that causes the decrease in writing speed. How does that really work? How can I calculate the size of it? Is it configurable?
Thanks for your early response Eugen. I understand what you explained, but now I have two questions relative to the cache: where can I see its size? Is it configurable? – Jorge – 2019-03-29T12:10:29.367
1That will depend on what operating system you're running... – Attie – 2019-03-29T12:45:49.663
@Attie RedHat Enterprise 7. If I am not mistaken, cache uses RAM. I have seen here that
– Jorge – 2019-03-29T13:13:09.260vmstat
shows info about the amount of memory free and used for cache. After writing 300GB of data with initially clean cache, all those 300GB appear as cached, but my performance dropped as in previous tests after writing ~200GB. Any ideas to explain this behaviour?Correct,
vmstat
(and/proc/meminfo
and/proc/vmstat
) should show you lots of information, though where the cache is reported can also vary from filesystem to filesystem (e.g: ext4 vs zfs). – Attie – 2019-03-29T13:16:04.100The easiest way to see the cache is
free -m
– Eugen Rieck – 2019-03-29T14:09:22.360