Re: Disk I/O slowness
Casey Deccio <[email protected]> Fri, 31 Jul 2026 07:45:26 -0600
| Newsgroups | gmane.linux.debian.user |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail=_56672FB2-C589-4597-89B5-E92719B33E2F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Jul 31, 2026, at 12:40=E2=80=AFAM, Tom Dial <[email protected]> = wrote: >=20 >=20 > On 7/30/26 14:49, Casey Deccio wrote: >>> On Jul 30, 2026, at 1:04=E2=80=AFPM, Alexander V. Makartsev = <[email protected]> wrote: >>>=20 >>> On 7/30/26 18:17, Casey Deccio wrote: >>>>> On Jul 29, 2026, at 5:28=E2=80=AFPM, Andy = Smith<[email protected]> wrote: >>>>>=20 >>>>> ... >>>>> 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? >>>>>=20 >>>>> "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. >>>>>=20 >>>>> 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. >>>>>=20 >>>>> 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. >>>>>=20 >>>>> 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: >>>>=20 >>>> read: IOPS=3D237 >>>> write: IOPS=3D79 >>>>=20 >>>> 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. >> Great ideas. I originally did RAID5 because I wasn't sure how many = drives I wanted in the array, and I wondered if I might grow the array = at some point. But I'll consider RAID 1 if I settle on three drives. >=20 > A bit of analysis suggests this is a low performance server, mainly if = not entirely because of the disks. The server board surely is not the = bottleneck. As an earlier post suggested, the sync times noted are quite = as should be expected. >=20 > The bottleneck almost certainly is the 6GBit/Sec consumer disks. The = 6GBits/Sec transfer speed is only attainable on the cables from the = system board to the individual disks. It implies a maximum transfer rate = around 600 MBytes/Sec. but in sustained transfers, the disks cannot = write that fast. AI query suggests 100-180 MB/Sec (depending on what = part of the disk is being accessed) for CMR disks and 10-30 MB/Sec(!) = for SMR disks. Raid 5 with 3 disks will reduce those to around 50% -75%, = around 8-24 MB/sec so the expected average sustained write speed is = unlikely to be more than 100MB/Sec. even with CMR disks. That is about, = or slightly above, what is available from a Gigabit Ethernet transfer; = for SMR disks, expect no more than around 25 MB/Sec. Large writes will = take a while. >=20 > The pattern of sync times reported is consistent with that, suggesting = that rsync makes the data available for writing somewhat faster than it = can be written to the disk surfaces. Note that this doesn't apply to = reading; the RAID will read and deliver data roughly twice as fast as a = single disk and continue to do so on sustained reads as long as the data = read is consumed at least as fast. Once the bulk data is transferred, = performance may be satisfactory even with the low-spec drives. >=20 > The system with the Megaraid card would appear to perform better due = to its internal cache: it will report write completion as soon as the = data is in its cache (thus unblocking sync) and handle transfer to the = disks internally. AI suggestion for the new server: set Write-Back = rather than Write-Through for PCH Cache settings if that is not already = done; that will allow the Intel driver to treat main memory as cache. It = will not, however, make the data transfer any more quickly to the disks = in the array. >=20 > AI was used here, but not extensively. Thanks for the assessment. And also thanks to all the other respondents = for their contributions. I can't really change the hardware I have, but this is helpful for = figuring out how to move forward, both with my current system and for = future system design. Casey= --Apple-Mail=_56672FB2-C589-4597-89B5-E92719B33E2F Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html aria-label=3D"message body"><head><meta http-equiv=3D"content-type" = content=3D"text/html; charset=3Dutf-8"></head><body = style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; = line-break: after-white-space;"><br><div><blockquote type=3D"cite"><div>On= Jul 31, 2026, at 12:40=E2=80=AFAM, Tom Dial <[email protected]> = wrote:</div><div><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: 2; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration-line: none; text-decoration-thickness: auto; = text-decoration-style: solid;"><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = orphans: 2; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">On 7/30/26 14:49, Casey Deccio = wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: 2; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration-line: none; text-decoration-thickness: auto; = text-decoration-style: solid;"><blockquote type=3D"cite" = style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = orphans: 2; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: = solid;"><blockquote type=3D"cite">On Jul 30, 2026, at 1:04=E2=80=AFPM, = Alexander V. Makartsev <[email protected]> wrote:<br><br>On = 7/30/26 18:17, Casey Deccio wrote:<br><blockquote = type=3D"cite"><blockquote type=3D"cite">On Jul 29, 2026, at 5:28=E2=80=AFP= M, Andy Smith<[email protected]> wrote:<br><br>...<br>If it does = occur when /home is mounted, then it is the disks in the RAID<br>setup = or the RAID setup itself. Does each individual disk = perform<br>anomalously?<br><br>"fio" is a good tool,to carry out = performance testing of storage<br>devices. Have a look what the random = 4k read and write I/O is like in<br>terms of IOPS, and the sequential = disk transfer rate in MB/s for reads<br>or writes. You can try that on = the array and then break the array and<br>try it on each individual = disk. Obviously this is destructive to the<br>data.<br><br>If the = performance is as expected on a per-disk basis but terrible only<br>with = RAID, it may be time to post to the linux-raid mailing list as = this<br>is unlikely to be a Debian-specific issue. I would then also be = checking<br>if it happens in other RAID configurations like = RAID-1.<br><br>150 IOPS of random reads (not coming from RAM) is = reasonable for a<br>single 7.2kRPM SATA disk. You could expect 2-3x this = from a RAID-5 of<br>three identical disks.<br><br>Write IOPS is a bit = more difficult to guess and will depend on whether<br>you have disabled = the write cache in the drives themselves. Due to the<br>RAID-5 write = penalty (read-modify-write) you may expect only 50-70% of a<br>single = disk's IOPS for random writes.<br></blockquote>Thanks for that very = helpful information. I've run fio on the still-assembled array, = and here's what I get for read/write:<br><br> read: = IOPS=3D237<br> write: IOPS=3D79<br><br>I'm not sure exactly = what to make of that...<br></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></blockquote>Great ideas. I originally did RAID5 = because I wasn't sure how many drives I wanted in the array, and I = wondered if I might grow the array at some point. But I'll = consider RAID 1 if I settle on three drives.<br></blockquote><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">A bit of analysis suggests this is a low = performance server, mainly if not entirely because of the disks. The = server board surely is not the bottleneck. As an earlier post suggested, = the sync times noted are quite as should be expected.</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">The bottleneck almost certainly is the = 6GBit/Sec consumer disks. The 6GBits/Sec transfer speed is only = attainable on the cables from the system board to the individual disks. = It implies a maximum transfer rate around 600 MBytes/Sec. but in = sustained transfers, the disks cannot write that fast. AI query suggests = 100-180 MB/Sec (depending on what part of the disk is being accessed) = for CMR disks and 10-30 MB/Sec(!) for SMR disks. Raid 5 with 3 disks = will reduce those to around 50% -75%, around 8-24 MB/sec so the = expected average sustained write speed is unlikely to be more than = 100MB/Sec. even with CMR disks. That is about, or slightly above, what = is available from a Gigabit Ethernet transfer; for SMR disks, expect no = more than around 25 MB/Sec. Large writes will take a while.</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">The pattern of sync times reported is = consistent with that, suggesting that rsync makes the data available for = writing somewhat faster than it can be written to the disk surfaces. = Note that this doesn't apply to reading; the RAID will read and deliver = data roughly twice as fast as a single disk and continue to do so on = sustained reads as long as the data read is consumed at least as fast. = Once the bulk data is transferred, performance may be satisfactory even = with the low-spec drives.</span><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = orphans: 2; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">The system with the Megaraid card would = appear to perform better due to its internal cache: it will report write = completion as soon as the data is in its cache (thus unblocking sync) = and handle transfer to the disks internally. AI suggestion for the new = server: set Write-Back rather than Write-Through for PCH Cache settings = if that is not already done; that will allow the Intel driver to treat = main memory as cache. It will not, however, make the data transfer any = more quickly to the disks in the array.</span><br style=3D"caret-color: = rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: = normal; font-variant-caps: normal; font-weight: 400; letter-spacing: = normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: = none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration-line: none; = text-decoration-thickness: auto; text-decoration-style: solid;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">AI was used here, but not = extensively.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: 2; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration-line: none; text-decoration-thickness: auto; = text-decoration-style: solid;"></div></blockquote><div><br></div>Thanks = for the assessment. And also thanks to all the other respondents = for their contributions.</div><div><br></div><div>I can't really change = the hardware I have, but this is helpful for figuring out how to move = forward, both with my current system and for future system = design.</div><div><br></div><div>Casey</div></body></html>= --Apple-Mail=_56672FB2-C589-4597-89B5-E92719B33E2F--