Re: Disk I/O slowness

"Alexander V. Makartsev" <[email protected]> Fri, 31 Jul 2026 00:04:30 +0500
Newsgroups gmane.linux.debian.user
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------CmMytXfCskMsc5c7iCW146Zq
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 7/30/26 18:17, Casey Deccio wrote:
>> On Jul 29, 2026, at 5:28 PM, Andy Smith<[email protected]> wrote:
>>
>> ...
>> If it does occur when /home is mounted, then it is the disks in the RAID
>> setup or the RAID setup itself. Does each individual disk perform
>> anomalously?
>>
>> "fio" is a good tool,to carry out performance testing of storage
>> devices. Have a look what the random 4k read and write I/O is like in
>> terms of IOPS, and the sequential disk transfer rate in MB/s for reads
>> or writes. You can try that on the array and then break the array and
>> try it on each individual disk. Obviously this is destructive to the
>> data.
>>
>> If the performance is as expected on a per-disk basis but terrible only
>> with RAID, it may be time to post to the linux-raid mailing list as this
>> is unlikely to be a Debian-specific issue. I would then also be checking
>> if it happens in other RAID configurations like RAID-1.
>>
>> 150 IOPS of random reads (not coming from RAM) is reasonable for a
>> single 7.2kRPM SATA disk. You could expect 2-3x this from a RAID-5 of
>> three identical disks.
>>
>> Write IOPS is a bit more difficult to guess and will depend on whether
>> you have disabled the write cache in the drives themselves. Due to the
>> RAID-5 write penalty (read-modify-write) you may expect only 50-70% of a
>> single disk's IOPS for random writes.
> Thanks for that very helpful information.  I've run fio on the still-assembled array, and here's what I get for read/write:
>
>    read: IOPS=237
>    write: IOPS=79
>
> I'm not sure exactly what to make of that...
I might add insult to the injury, but are you sure you need RAID-5 if it 
consists of just 3 drives?
Usually around 30% per drive's capacity will be sacrificed to hold error 
correction data for the array,
so maybe it will be much better to use 2 drives in RAID-1 (Mirror) 
configuration, if you need decent write performance.
Third drive could be used as spare device for the array, or a separate 
storage without redundancy.

-- 

  With kindest regards, Alexander.

  Debian - The universal operating system
  https://www.debian.org

--------------CmMytXfCskMsc5c7iCW146Zq
Content-Type: multipart/related;
 boundary="------------0NIQ1XgZEQuYfgW6F0h0L83i"

--------------0NIQ1XgZEQuYfgW6F0h0L83i
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 7/30/26 18:17, Casey Deccio wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <pre wrap="" class="moz-quote-pre">
</pre>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">On Jul 29, 2026, at 5:28 PM, Andy Smith <a class="moz-txt-link-rfc2396E" href="mailto:[email protected]">&lt;[email protected]&gt;</a> wrote:

...</pre>
      </blockquote>
      <blockquote type="cite">
        <pre wrap="" class="moz-quote-pre">If it does occur when /home is mounted, then it is the disks in the RAID
setup or the RAID setup itself. Does each individual disk perform
anomalously?

"fio" is a good tool,to carry out performance testing of storage
devices. Have a look what the random 4k read and write I/O is like in
terms of IOPS, and the sequential disk transfer rate in MB/s for reads
or writes. You can try that on the array and then break the array and
try it on each individual disk. Obviously this is destructive to the
data.

If the performance is as expected on a per-disk basis but terrible only
with RAID, it may be time to post to the linux-raid mailing list as this
is unlikely to be a Debian-specific issue. I would then also be checking
if it happens in other RAID configurations like RAID-1.

150 IOPS of random reads (not coming from RAM) is reasonable for a
single 7.2kRPM SATA disk. You could expect 2-3x this from a RAID-5 of
three identical disks.

Write IOPS is a bit more difficult to guess and will depend on whether
you have disabled the write cache in the drives themselves. Due to the
RAID-5 write penalty (read-modify-write) you may expect only 50-70% of a
single disk's IOPS for random writes.
</pre>
      </blockquote>
      <pre wrap="" class="moz-quote-pre">
Thanks for that very helpful information.  I've run fio on the still-assembled array, and here's what I get for read/write:

  read: IOPS=237
  write: IOPS=79

I'm not sure exactly what to make of that...</pre>
    </blockquote>
    I might add insult to the injury, but are you sure you need RAID-5
    if it consists of just 3 drives?<br>
    Usually around 30% per drive's capacity will be sacrificed to hold
    error correction data for the array, <br>
    so maybe it will be much better to use 2 drives in RAID-1 (Mirror)
    configuration, if you need decent write performance.<br>
    Third drive could be used as spare device for the array, or a
    separate storage without redundancy.<br>
    <br>
    <div class="moz-signature">-- <br>
      <pre style="font-size: .8rem;"> With kindest regards, Alexander.</pre>
      <img src="cid:[email protected]" alt=""
        style="float:left; display:inline;">
      <pre style="display:inline; font-size: .6rem;"> Debian - The universal operating system
 <a href="https://www.debian.org" class="moz-txt-link-freetext">https://www.debian.org</a></pre>
    </div>
  </body>
</html>
--------------0NIQ1XgZEQuYfgW6F0h0L83i
Content-Type: image/gif; name="eLiDbrOascmYeR0D.gif"
Content-Disposition: inline; filename="eLiDbrOascmYeR0D.gif"
Content-Id: <[email protected]>
Content-Transfer-Encoding: base64

R0lGODlhHgAlAIABAJkAMwAAACH5BAEAAAEALAAAAAAeACUAQAJwjI8HyR0AnTQwRremyu/q
31TgWIlYmXjhZ3LYpG7uSCNzLZc6KukkT7kxTKkMcQgSxVJJm7DofB5xvSd1aL12dksN9zst
hrFh4I84TnrSFK+l22a9e+dOVR2EyZ0w6Q0eZUamdUJYaBiSpQVoyNhQAAA7

--------------0NIQ1XgZEQuYfgW6F0h0L83i--

--------------CmMytXfCskMsc5c7iCW146Zq--