Am I just an idiot here? What are up with my sustained reads?

This is a bit of a long story to get to the point, which is probably buried somewhere in all this rambling, but it was a long and weird way to get to where I am here today.

So the other week, I went to move files to a server I’ve been running since 2012 as a home server and noticed my write speeds from another computer to the server to be utterly unacceptable garbage. Thankfully I take screenshots, because I was asking a friend if it was weird, though we both concluded at the time it might just be a dying drive. It was an ooold setup, talking a copy of windows server 2008 R2, an actual Areca 1220 or whatever the 8 port raid card was called, /and in raid off the card itself/ old, so there could have been anything wrong with it(You can’t get SMART off raided drives, though Areca’s little web interface did give /their/ idea of SMART from all those years ago, I can give you a hint, it’s shite). Wven if all it did was sit in a corner, suck, and spit files out, or be used via video files being played over the network(Not over Plex, just purely MPC/VLC → the file itself.mp4). I was doing some h265 encodes with handbrake, pulling from the server to my computer, then deleting what was on the server, and moving the converted, and usually far smaller for the same quality files(talking xvid to h265, and in most cases it shrank it by half or more, yay.) Anyways, this was the result that had me alarmed.


It’s just sort of grown over the years, and because I never had enough spare ‘extra’ space, I was never able to do what I really wanted and tear it down to rebuild it properly. So I had to take the 'patch it with scotch tape and prayers to the digital gods approach. I went to debugging what could possibly be wonky on it with what I could reasonably do to an outdated way of hording data. Decided out of all the things I’d never actually done to the raid, and I do mean since it’s build and many replaced drives later… was run a defrag on it. I honestly did it more as a laugh you know? To punish the drives for causing problems at a time when I just can’t afford things, make them take all the data and like it. The results were shocking. But in the time it was going to take to defrag 60TB of drive space, even if only a third of it was being used, I pulled the trigger on other plans.


That was the result! After the windows based defrag, it seemed to really help. Unfortunately that was only temporary, and it was still wonky, and as annoying as it all was, we’re talking 8 drives in a raid-6 configuration, the baseline sequential write and read of an array like that should have been /far/ above what lame ass 2001 T1000 home networking can do. So again, I’m scratching my head on why throughput wasn’t capped to 120MB/s like always when pushing data to the server. The trigger I ended up pulling caused some headache, as I bought two referbished drives, 10TB HGST drives, I’d done so originally to update the server to all 10TB drives. At that point, the only thing that was going to slow me down was leeching all the data off the server, it was time to get all the data off, backed up on 2 spare drives, and tear it apart.

The server went from:

Old i7-920
Old x58 msi motherboard
Old DDR3 that totaled up to 24gb(six sticks on those old boards)
Old Kingston SSD for boot, previously mirrored straight from an 80gb WD platter drive
Old Areca 8 port sata card
Old PCI fanless GPU, literally so it would boot, and I could debug it.
8 HGST 10tb drives, the super cheap HUH721010ALE600 ones you can get referbished

The replacement from parts in the garage

Ryzen r7-1700 non-x(I actually had both, decided non-x for power saving, and turned the eco stuff on)
x370 msi pro carbon red LED barf from back when I pre-ordered ryzen(yup, I was one of the crazy people)
32GB DD4 3600mhz g.skill
Nvidia GTX560, non-Ti, there wasn’t much to pick from that didn’t have multiple PCIe power connectors, it had a single six pin. I was kicking myself for forgetting I was using a PCI gpu, so now that adds one more fan to clean! FFFS!
LSI Logic SAS 9207-8i Storage Controller LSI00301
8 HGST 10tb drives, the same ones, because I’m mentally deficient, and the spare two I bought were holding everything on them I’d taken off the previous build, just waiting to be put back on.
4 samsung evo 250GB sata drives <— I run supercache(Thanks Linus and Wendle, I’m a firm believer in tiered storage now. I used to run ramdrive programs for games, but then games got too damn big.)
1 intel 512gb nvme drive for its boot/OS

I wanted to move away from windows forever ago with the server. I couldn’t because of the raid card. So long as I didn’t have the areca card in the computer, I could replace motherboards, and cpu’s, and just pop the raidcard back in, and poof, data’s there. So it went from an old tyan K8WE that I got tired of replacing capacitors to an amd phenom x6 capable board(don’t recall, it burnt out on me), and finally the last which was somewhere around 2012 which ended up being its last for a long while. All running windows server 2008, yeah, I can hear the vomiting noises you’re making, it really is that bad. Anyways, I put Truenas core on it after poking it with a stick in a virtual machine and deciding ‘yup, this’ll do’ by making a fk’ load of 20gb drives in VMware, and tied it to the OS, toyed around with how the raid and sharing worked(it was at this point, I wanted to claw my eyes out, forgot how bitchy linux is on permissions, and not like good ol’ windows, like that corner prostitute who will open up to anyone, so long as you got the right password.), and so far as setting the computer, and Truenas up? It was so simple I was done before I knew it, and fighting the linux permissions to let me put the shit where I wanted it so /everyone/ on the lan saw /one/ spot to get their files, and it not have a hissy fit. When /that/ was all said and done; eight HGST 10tb drives in ZFS-2 whatever raid-6 is, and I had turned the 4 seagate Evo’s into 1TB of cache because fk it right? I started moving files!






Honestly this was my face seeing all of that.


WORTH IT!

I know! I know! The terabyte of Tier-2 CACHE drives, and TrueNas’s desire to use any and all ram to act as Tier-1 cache was doing /all/ the work! But hey! I couldn’t have RAM or FOUR random sata drives act as a cache drive in windows 2008 while jamming files into it with a boot! Let me have my poor man’s moment of maximum throughput bliss on crappy gigabit home network! And the fact things were working as advertised! -.- /s

But then… I /knew/ all of that had been cache, and that I was still dealing with a drive that was possibly going bad. So out of morbid curiosity, I grabbed something that wouldn’t be in ram, or cache.




And… wonky when pulling from server to any computer on the network… why can’t I get maximum throughput?! I even performed a smartctl –t long to all of the HDD’s! And I’ve got the logs of those if anyone wants them, however I can tell you right now, smartctl said passed for all eight drives. head desks repeatedly Why can’t I just have maximum throughput both ways? ARG! I’m /PRETTY FREAKING SURE/ I should be slammed to the maximum on my in and outs on that server over a single gigabit connection! So am I just a fk’ing idiot and missing something here? Or after all of this TL;DFR rant, is there actually a problem drive in there hamstringing the group for being ‘a touch slow’??? Arg this is so frustrating!

I doubt this is a drive problem. HBA is solid and 8 drives in any configurating will read those kind of files (Andromeda was great!) without problem. I suggest you test drives on the server. TrueNAS comes preinstalled with fio. If fio says 70MB/s on 128k or 1M non-random reads, we’ll talk. But I doubt it.

I suspect some overhead in SMB and windows explorer file transfer slowing things down. Or some folders have smaller files in there, like audio. HDDs aren’t good at grabbing a lot of smaller files, they love one big file and keep reading it.
Network seems fine as you can get full Gbit on cache hits.

And 75% of wire speed is still a good result considering all the bidirectional latencies and overheads involved. 2.5G or 10G networking is always better. 1G is 10+ year old stuff at this point.

I’m weirdly unable to use links in my post for screenshots, or post my reply, so I can’t even show my other screenshots, or post… urrg… this is why I stopped using forms years ago… wasted all that time taking screenshots of results, and all the paragraphs of information… Can I get a mod to help me? Or do I need to go talk in other threads until I reach a certain limit? x.x

I have no problem saturating gigabit over SMB with explorer’s file transfer. Graph is easily pegged at 115MB/s.
A couple of my really old drives do have trouble reaching those speeds, but that’s not a sign of failure at this point.

If OP suspects a drive failure, perhaps pull the drives individually for a SMART test outside the RAID?

smart codes.txt (40.1 KB)

I was /trying/ to do this last night, but I gave up. Testing again today if it will let me.

EDIT: Holy crap it let me post a file and my links. Anyways, the SMART was the long test that took a day to complete, not the ‘done in a second’ SMART test.

Example: Video files pulled from server to PC(Tier1 and Tier2, it’s not lacking for bandwidth.)

Example: Video being sent from local computer to the server. A+ experience. Bravo! This is what I want!

Example: Forcing 4 multi-threaded operations to pull from the server in a crude attempt to saturate only 1 gigabit networking. I’d rather not have to use powershell commands each time I want to pull big files off the server… Not to mention, what if it’s only a /single/ big file? Like a VMware virtual machine files? Those are on there too! A few are hundreds of gigs each!


What I’m using to send and receive into/from these windows machines.

martixy Honestly, I think I might have to just break down and do just that, I do know I need to find out if that ‘new’ LSI card I bought to replace the ancient Areca raid card is hot swappable, I honestly didn’t check, and I don’t have an ‘easy’ method other than pulling both panels off the Lian Li case I’m using to do it. Uggggh, needle in a hay stack levels of ‘do not want’, because basically I’m going to need to pull a drive, wipe the drive, hit it with every single full drive speed test, put that drive back into the server and let it rebuild over however many hours that will take(on the Areca card, it did the rebuilds at a snails pace, like two days or more per drive, when I was migrating from 3tb drives to 10tb drives so I could expand the raid), and move on to the next one. Gonna make me have a twitch.

Why wipe? The smart tests are not destructive. Seems like you ran them already? And no errors.


But… if you want to really stress test them, here’s a good utility: GitHub - Spearfoot/disk-burnin-and-testing: Shell script for burn-in and testing of new or re-purposed drives

Since it seems you already ran the SMART tests you can just do badblocks alone. Keep in mind it’ll take like a week per drive. (Tho you can of course run multiple drives in parallel.)
Note: badblocks will destroy every last shred of data on the drives. If they’re close to failure it will probably make them fail.

P.S. If you do decide to run badblocks - consider switching your drives over to 4K and running a speed test like discussed in this thread: Why are hard drive sectors still 512 bytes by default? The tests themselves take like 30-40 min to run at most (incl. switching the sector size). And it would be really helpful if we had more data points. (Also note, since you’re using a RAID card, not sure sure how well those play together with 4K drives - you would have to check.)

I’m using an LSI card sure, but it’s in IT mode or whatever the equivalent is for a passthrough, nothing is hardware raided, I actually got it based on a Hardware Compatibility list over on wiki.unraid.net specifically because of the IT mode out the box, I know unraid is not truenas/freenas, but there are similarities between them for HW choices so far as I was able to research. That was one of the big ‘get away from’ reasons I did the rebuild, as HW raid comes with HW raid problems, and always has so long as I can remember from even the days of IDE, where OS level linux raid comes with its own unique experience, though far better to troubleshoot it would appear, and more widely trusted around the world today.

I’ll look into the byte size bit, it wasn’t an option while I was building the ZFS(or was, and my brain/eyes just ignored it) from the web interface that I saw, and given it’s usually an option when building HW level raid, it didn’t even occur to me to check at the time, didn’t know you can change that sort of thing on the fly? Or I’m just misunderstanding something. Though it’s been a while, I think the last time I did any block size configuration, I used 2048 for platter drives that were always raided, and 128kb for SSD’s when given a choice(it was always ‘go small on SSD, go big on HDD’ for good generalized performance from the days I used to care, and benchmark raided stuff often). Mean, even in my computer, I’ve got motherboard raided HDD’s, they go well with primocache to dump what isn’t in the 75 gigs of ram on T1, or the T2 terabyte samsung 970 evo nvme, without at least 2 raid-0 HDD’s working together, it’s far too slow an experience when it comes to reading data off the HDD’s to push it back into nvme or ram at single HDD pathetic speeds. I’d have ran 4 of them in raid-0 but lack the room in case. Honestly it’s been a while on many things. You know the saying; if it’s not broke, don’t fix it. Well I haven’t needed to fix for longer than a week, and I don’t even remember what I had for breakfast a few days ago. Ha!

With sector size we are talking about low level shit. Nothing you set in any kind of web interface or zfs config or whatever.

It’s the size of the physical sectors on the hard drives. The kind you only set with custom utilities from each vendor, because only they know how to talk to the firmware to make it happen. The kind of low-level that bricks your device if you mess up.
Tho it’s not actually that scary. Read the later responses in the thread above.
It might even give you a small boost in performance.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.