Single disk: -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 918 85.0 1646 21.6 776 36.1 877 86.9 1859 82.1 33.6 5.6 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU single H 512 903 90.8 1612 31.8 785 37.1 862 85.7 1777 78.6 18.9 4.68k stripe across both disks:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 2 disk 100 904 58.6 1886 35.6 831 61.4 775 80.9 1659 76.9 47.2 12.2 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 2 disk 512 859 55.8 1826 56.3 794 53.5 843 86.7 1696 79.4 26.6 10.4Running simultaneously on both disks, with a single file system on each one:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1 disk 256 447 33.2 1063 25.2 458 29.6 439 48.5 1041 47.4 19.1 3.9 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1 disk 256 454 32.3 1035 22.4 427 31.0 422 48.1 845 67.7 25.2 6.1two-disk stripe on Adaptec 2940 PCI controller (with kernel compile on another disk). Compare this to the "8k stripe" result above.
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 1128 69.6 2111 12.9 1291 15.2 945 75.9 4160 19.7 31.1 1.7Looks like the PCI controller is a win! WD 24300 Caviar 4.3G IDE hard drive
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 100 2334 87.6 3723 56.9 1419 11.0 2087 74.6 3089 11.3 131.4 3.8P2 266 96MB ram, quantum bigfoot 4.3GB IDE
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 3653 90.2 5251 6.0 2590 7.9 3654 83.3 6113 5.2 61.2 0.9Sony VAIO N505VE 64MB ram, celeron 333, 6GB IDE
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 4238 97.9 5507 7.2 2749 7.1 3505 79.0 5443 4.4 51.0 0.7P2 266 on FIC P2XLX/e mobo, 96MB ram, maxtor 15GB IDE 5400 rpm
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 1563 86.6 2399 80.8 1109 85.7 1512 88.1 2248 85.0 66.9 20.0Something's not right - these numbers suck! OK, managed to get dma enabled (don't know why I have to use hdparm) and now things look a little better:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 2471 93.9 5956 87.6 2239 82.3 2148 89.5 3873 75.4 74.6 12.0I'm still surprised as hell that the VAIO smokes this machine in so many categories. I guess it does have a lot more CPU than this machine does, but I wouldn't expect that to matter for block I/O. Go figure. (I found out later that the DMA support was unreliable so it would cause an error somewhere during the test and the kernel would turn DMA off) P2 266 96MB, Western Digital Caviar 4.3GB as a slave on the same bus as the 15GB maxtor above:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 2808 71.9 3124 5.6 1210 4.7 2386 55.5 3132 4.6 54.1 0.8UDMA comes up enabled by default with this drive; seems to use very little CPU. I think that something's wrong with the DMA support on the maxtor drive. P2 266 96MB, Western Digital Caviar 30GM 7200RPM as a slave on the same bus as the 15GB maxtor above:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 2885 71.2 3349 3.8 1571 4.6 2959 67.3 3188 2.3 100.4 1.4not bad, although not a huge improvement over the 15GB drive. (Again, DMA was getting turned off during the run)
My spiffy new AMD Athlon 1.2GHz machine:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 3752 38.1 5711 19.0 2252 45.9 3037 93.4 4343 15.9 132.2 0.4The VAIO still rules, guess I've got to look into DMA issues (yet again). OK, here are the results after
hdparm -d 1 /dev/hda
:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 512 10628 91.9 27738 12.6 11609 11.7 9415 80.5 27703 11.1 128.9 0.6 -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1024 10663 94.9 21372 9.9 10513 10.2 10162 88.6 23900 8.8 116.9 0.4A new king of the hill, by a longshot. DMA is your friend.
An upgraded "poohpa", PII-450, 128MB PC-133 RAM, Western Digital Caviar 30GB 7200RPM, dma enabled:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 256 4288 63.9 14183 13.4 2997 6.5 5163 70.6 8610 5.8 126.3 1.1Yup, that's the stuff. Another nice feature of this drive is that it is quiet. At Black Ink Systems I have a Dell Precision 220 (PIII/933, 768MB RAM, WDC WD200BB-75AUA1 disk)running Red Hat 7.2 (kernel 2.4.9-13):
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Dell P220 MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1024 11125 91.9 33127 27.1 13291 8.7 8317 70.8 22284 7.3 119.4 1.4 -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Dell P220 MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 2000 11563 95.7 28952 19.5 12975 8.0 8682 73.4 22250 7.2 102.1 0.8I've also got an IBM ThinkPad A30 laptop. Big 'n' ugly:
-------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- IBM A30 MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1024 2986 85.4 4890 46.9 1724 1.3 2282 63.0 3462 0.8 175.3 2.9During the Black Ink restructuring I had a VA Linux 1220 1U server in the basement. It's a 2xPIII-933 with 2GB RAM, and only one Quantum Fireball LM20.5 IDE disk.
Version 1.02b ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP VA1220 2G 10232 78 27466 19 12017 12 12574 92 42421 14 819.3 2 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 979 100 +++++ +++ +++++ +++ 954 99 +++++ +++ 3211 100I think that these results are bogus because the machine has too much memory - it has 2GB memory, and that's the largest file that you can write with a 32-bit filesystem. The input numbers look out of whack - probably because it's not reading the disk most of the time. Here's an upgraded (again!) poohpa, this time a PIII/933 with 512MB memory. Same disk, i.e. Western Digital Caviar 30GB 7200RPM:
Version 1.02b ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP poohpa 1G 9348 75 25853 18 10984 9 11218 87 17448 5 170.0 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 735 99 +++++ +++ +++++ +++ 733 99 +++++ +++ 2647 100 poohpa,1G,9348,75,25853,18,10984,9,11218,87,17448,5,170.0,0,16,735,99,+++++,+++,+++++,+++,733,99,+++++,+++,2647,100Phoenix is a Compaq DL-380 dual P3/1000 with 4 18GB SCSI3 15000RPM disks and a RAID controller. The machine has mucho RAM but I booted it with 356MB to make the test more reasonable. The RAID doesn't have write-back cache. A 3-disk stripe runs at:
Version 1.02b ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP phoenix 2G 14514 99 44274 21 15447 11 10900 75 39516 12 365.6 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 1016 100 +++++ +++ +++++ +++ 1037 100 +++++ +++ 5223 99 phoenix,2G,14514,99,44274,21,15447,11,10900,75,39516,12,365.6,1,16,1016,100,+++++,+++,+++++,+++,1037,100,+++++,+++,5223,99Running the Western Digital Caviar 30GB 7200RPM drive on a SIIG IDE PCI card in the DL380 returns:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP phoenix 2G 12519 99 23306 11 7408 5 11014 80 14408 5 127.0 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 923 100 +++++ +++ +++++ +++ 961 100 +++++ +++ 3275 99 phoenix,2G,12519,99,23306,11,7408,5,11014,80,14408,5,127.0,0,16,923,100,+++++,+++,+++++,+++,961,100,+++++,+++,3275,99Seagate 110GB SATA drive in Athlon64 3200+:
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP sandcastle 2G 25868 49 55254 23 19979 6 33611 57 39393 6 138.1 1 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 1726 53 +++++ +++ +++++ +++ 1637 49 +++++ +++ 5448 48 sandcastle,2G,25868,49,55254,23,19979,6,33611,57,39393,6,138.1,1,16,1726,53,+++++,+++,+++++,+++,1637,49,+++++,+++,5448,48