Re: striped LV and expected performance
Erwin van Londen <[email protected]> Thu, 24 Jul 2025 14:33:18 +0000
| Newsgroups | gmane.linux.lvm.general |
|---|---|
| Message-ID | <[email protected]> |
On 25/7/25 00:10, Henry, Andrew wrote: > Yes, me too, I've also been in the IT industry since 1992, and understand= product spec sheet theoretical maximums. :-) Old-timers then... Hehehehe..... > > ""dd" will always give you a sequential read or write workload which will= always trigger optimisation functions in the various controllers and HDD/S= SD firmware. The only thing it will show you is that your numbers will some= what align to the numbers in the datasheet." > > Which is what I'm initially trying to validate, but not seeing. I thought your first post started off running on a hypervisor. In that=20 case all bets are off and you're subject to what the host OS will allow=20 you to do. That puts a whole other pie in the mix. > > " Furthermore, reading from /dev/zero to push a workload will for sure sk= ew numbers. The controllers are very smart and have been for a long time. I= f they "see" a certain data characteristic they can change the write behavi= our to the physical platter or the NAND cells." > > I had considered this, and if this was the case, wouldn't it give *better= * performance? If a DeDup identifies a pattern for instance, wouldn't I ge= t *better* values in my tests than what the hardware was capable of? In wh= ich circumstance would I see worse numbers when controller logic kicked in? One of the reasons could be that load-leveling logic in the SSD firmware=20 may cause delays, that's not something you can control. Also, if the=20 hypervisor does allow direct-io and the guest needs to wait for IO=20 completion or if the hypervisor has some settings applied that interfere=20 with IO completion, you will likely see skewed results. My experience is=20 that whenever you want to validate a specsheet you need to test this=20 under the same characteristics or you would need to be able to align=20 your IO profile that aligns to the specifications of the hardware. It=20 can be a massive time-waster if you can't automate the test-logic and=20 validate the outcomes to the datasheet numbers. > > /AH > > > -----Original Message----- > From: Erwin van Londen <[email protected]> > Sent: 24 July 2025 15:57 > To: Henry, Andrew <[email protected]>; Zdenek Kabelac <zdenek.kabelac@g= mail.com>; [email protected] > Subject: Re: striped LV and expected performance > > > Having worked in the storage industry since around 1995 with DEC, Compaq,= Hewlett Packard and Hitachi Data Systems (Vantara) I've seen a fair amount= of spec sheets. Be aware, what you see on these sheets are indeed optimum = values measured against optimum characteristics for that piece of hardware.= These sheets are only partially written by engineers but will have a marke= ting sauce added resulting in some potentially skewed information. Engineer= ing information will most often outline the conditions of these numbers whe= reas marketing people will most remove them as it simply looks better. > > =C2=A0"dd" will always give you a sequential read or write workload whi= ch will always trigger optimisation functions in the various controllers an= d HDD/SSD firmware. The only thing it will show you is that your numbers wi= ll somewhat align to the numbers in the datasheet. Various OS settings on t= he scheduler, dm and filesystem can have a significant influence on these n= umbers. I'm pretty sure that the information datasheets is about the maximu= m you can suck out a piece of hardware. > Everything you do on your side in the various OS layers will only negativ= ely impact the raw performance numbers, let alone having a representative a= pplication workload pushed onto it. > > "fio" gives you a bit more options and parameters however this will also = depend significantly on how the kernel and it's IO layers such as the devic= e mapper and filesystems interact with the hardware. Using zones for exampl= e would require insight into the way the hardware is build, especially on H= DD's. If you don't have that you may as well put a wet finger in the air an= d go for a trial and error run. > > Furthermore, reading from /dev/zero to push a workload will for sure skew= numbers. The controllers are very smart and have been for a long time. If = they "see" a certain data characteristic they can change the write behaviou= r to the physical platter or the NAND cells. > > Everything you do that does not reflect a real life workload is a "just f= or shits and giggles" exercise but will not give any real meaningful outcom= e. Believe me, I've been through this discussion more than once. > >> >> >> -----Original Message----- >> From: Erwin van Londen <[email protected]> >> Sent: 21 July 2025 05:26 >> To: Zdenek Kabelac <[email protected]>; Henry, Andrew <andrew.hen= [email protected]>; [email protected] >> Subject: Re: striped LV and expected performance >> >> >> 3. Unreal cache optimisations. Using dd is by far the worst option to us= e for performance tests as it will never (Ok, almost never) align with real= workloads. If you use dd for performance test you will find that this will= backfire in most cases when a normal workload is applied. The main reason = is that dd will always have a sequential workload unless you start a large = amount of dd instances to the same disk at once with different offsets. Eve= n then you will see an obscure number coming back. >> >