Re: striped LV and expected performance
Erwin van Londen <[email protected]> Thu, 24 Jul 2025 13:56:50 +0000
| Newsgroups | gmane.linux.lvm.general |
|---|---|
| Message-ID | <[email protected]> |
On 24/7/25 17:09, Henry, Andrew wrote: > I've been thinking about the point below, about using dd as a performance= test. Although I do wholeheartedly agree that real-life workload tests mu= st to be conducted (ideally where a production workload is recorded, and th= en played back in a test environment), I still think that dd and fio provid= e valuable insights into disk performance. > > On real physical hardware, where I know all of the variables, the product= spec sheets, and the theoretical performance ceiling of all the components= , I actually see results that are close to the physical capabilities of the= hardware involved when I use dd or fio. To be clear, fio is showing the s= ame results as dd when using direct writes, which indicates that dd isn't t= hat bad of a quick test and is a viable replacement for fio to be able to g= et a quick idea of where performance lies. > > In these cases, testing a system with dd or fio, what I'm after is a vali= dation of the physical capabilities of the hardware, as a starting point in= performance tuning. If these results aren't in line with expectations, th= en it's pointless tuning any other layer until this is resolved. > > Unless someone can provide evidence that dd or fio do not and simply can = not show true hardware speeds when testing in a virtualized environment, th= en I can only continue to use these tools in benchmarking. > > Because when it comes down to it, we buy hardware for their performance c= haracteristics, and want to verify that we are seeing that same performance= in our environment after purchase. > > /AH Having worked in the storage industry since around 1995 with DEC,=20 Compaq, Hewlett Packard and Hitachi Data Systems (Vantara) I've seen a=20 fair amount of spec sheets. Be aware, what you see on these sheets are=20 indeed optimum values measured against optimum characteristics for that=20 piece of hardware. These sheets are only partially written by engineers=20 but will have a marketing sauce added resulting in some potentially=20 skewed information. Engineering information will most often outline the=20 conditions of these numbers whereas marketing people will most remove=20 them as it simply looks better. =C2=A0"dd" will always give you a sequential read or write workload which= =20 will always trigger optimisation functions in the various controllers=20 and HDD/SSD firmware. The only thing it will show you is that your=20 numbers will somewhat align to the numbers in the datasheet. Various OS=20 settings on the scheduler, dm and filesystem can have a significant=20 influence on these numbers. I'm pretty sure that the information=20 datasheets is about the maximum you can suck out a piece of hardware.=20 Everything you do on your side in the various OS layers will only=20 negatively impact the raw performance numbers, let alone having a=20 representative application workload pushed onto it. "fio" gives you a bit more options and parameters however this will also=20 depend significantly on how the kernel and it's IO layers such as the=20 device mapper and filesystems interact with the hardware. Using zones=20 for example would require insight into the way the hardware is build,=20 especially on HDD's. If you don't have that you may as well put a wet=20 finger in the air and go for a trial and error run. Furthermore, reading from /dev/zero to push a workload will for sure=20 skew numbers. The controllers are very smart and have been for a long=20 time. If they "see" a certain data characteristic they can change the=20 write behaviour to the physical platter or the NAND cells. Everything you do that does not reflect a real life workload is a "just=20 for shits and giggles" exercise but will not give any real meaningful=20 outcome. 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.henr= [email protected]>; [email protected] > Subject: Re: striped LV and expected performance > > > 3. Unreal cache optimisations. Using dd is by far the worst option to use= 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 i= s that dd will always have a sequential workload unless you start a large a= mount of dd instances to the same disk at once with different offsets. Even= then you will see an obscure number coming back. >