On 2020-09-23 18:56, Peng Yu wrote: > Hi, > > Many people use dd to test disk performance. There is a key option dd, > which I understand what it literally means. But it is not clear how > there performance measured by dd using a specific bs maps to the disk > performance of other I/O bound programs. Could you anybody let me know > the interpretation of bs in terms of predicting the performance of > other I/O bound programs? Thanks.
I'm not sure this answers your question as you're hoping. When measuring performance of a physical disk, the point is: what is the typical usage pattern of the programs you run, and how does the performance measurement tool match to it? With 'dd', you can measure approximately the maximum throughput of the disk ... but only if the overhead of the operating system, the libc and the tool are kept small enough to avoid to taint the numbers too much. The default block size in dd is 4k. For a disk - especially an older rotating models - such small block size would not yield maximum performance numbers. Positioning the reading head, disk buffers, kernel buffers, etc. all add to make the result quite rough. Even on an SSD, the difference between using the default block size and a larger one may be significant. Still, using 'dd' to check the approximate throughput is quite nice, because it's easy and the tool is available everywhere. But - as written above - it will certainly not match the typical usage on the system. Have a nice day, Berny