[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SAGE] IDE hard drive performance



I have had an ongoing disagreement with one of my vendors about the
proper way to arrange a pair of IDE hard drives in a server for optimal
performance. As a result, I wound up running a series of I/O tests
against identical hardware/software to get some solid data, and thought
everyone would like to see the results... (see attachment for the
numbers)

- Notes: I used bonnie++ 1.03 running on Red Hat Linux Advanced Server
2.1. In all cases, the hard drives were mirrored with software RAID1.

- Results: You can obtain noticeably better performance (~40%) by having
each drive on a separate IDE channel instead of having them share the
same channel. Also, having a hard drive share an IDE channel with a
CD-ROM drive that is not in use seems to have little, if any, effect on
performance.

- Caveats: Since I went with the default hard drive settings, it is very
likely that I am missing out on some performance benefits. Additionally,
the CD-ROM drive may in fact be imposing a limit on performance, but the
hard drives are performing below that limit with their default
configuration, so it doesn't show up in the tests.

- Discussion: Has anyone else performed tests of this nature on
current-gen equipment? If so, how did you test and what were your
results? Also, has anyone played around with IDE hard drive settings in
such a way that resulted in both good performance *and* stability?


--
Jeremy Frank
IDE Hard Drive Performance Analysis
===================================

Notes:
======
* Hardware:
	2x 2.4GHz Xeon CPUs (Hyperthreading enabled)
	1.5GB total RAM (2x 512MB, 2x 256MB)
	2x 80GB 7200RPM IBM Deskstar Hard Drives
* In all tests, the pair of hard drives were mirrored using software RAID1
* OS: Red Hat Advanced Server 2.1AS (kernel 2.4.9-e.3smp)
* Software used: Bonnie++ 1.03 (http://www.coker.com.au/bonnie++/)
* Command line used for all tests: # ./bonnie++ -d /data1/scratch -s 3000 -r 1500 -u test
* All drives were left at their default settings:
  # hdparm /dev/hda
  /dev/hda:
   multcount    = 16 (on)
   I/O support  =  0 (default 16-bit)
   unmaskirq    =  0 (off)
   using_dma    =  1 (on)
   keepsettings =  0 (off)
   nowerr       =  0 (off)
   readonly     =  0 (off)
   readahead    =  8 (on)
   geometry     = 9730/255/63, sectors = 156312576, start = 0


Configuration A:
  IDE Channel 1 - Master: HD, Slave: HD
  IDE Channel 2 - Master: CDROM, Slave: None
============================================

# Try 1
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
test1.dmotor 3000M  6618  27  9314   6  3699   1 20058  76 28822   7 179.9   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  2339  91 +++++ +++ +++++ +++  2398  93 +++++ +++  5394  85
test1.dmotorworks.com,3000M,6618,27,9314,6,3699,1,20058,76,28822,7,179.9,0,16,2339,91,+++++,+++,+++++,+++,2398,93,+++++,+++,5394,85


# Try 2
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
test1.dmotor 3000M  6561  27  7444   4  3862   1 21012  76 28856   8 190.6   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  2330  93 +++++ +++ +++++ +++  2328  93 +++++ +++  5063  86
test1.dmotorworks.com,3000M,6561,27,7444,4,3862,1,21012,76,28856,8,190.6,0,16,2330,93,+++++,+++,+++++,+++,2328,93,+++++,+++,5063,86



Configuration B:
  IDE Channel 1 - Master: HD, Slave: None
  IDE Channel 2 - Master: HD, Slave: None
=========================================

# Try 1
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
test2.dmotorw 3000M 11086  47 12100  10  6538   3 21142  78 30025   9 229.8   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  2300  96 +++++ +++ +++++ +++  2374  94 +++++ +++  6446  99
test2.dmotorworks.com,3000M,11086,47,12100,10,6538,3,21142,78,30025,9,229.8,0,16,2300,96,+++++,+++,+++++,+++,2374,94,+++++,+++,6446,99



# Try 2
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
test2.dmotorw 3000M 11126  48 14391  10  5925   3 21511  79 30100   9 332.9   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  2383  95 +++++ +++ +++++ +++  2461  96 +++++ +++  5464  90
test2.dmotorworks.com,3000M,11126,48,14391,10,5925,3,21511,79,30100,9,332.9,1,16,2383,95,+++++,+++,+++++,+++,2461,96,+++++,+++,5464,90



Configuration C:
  IDE Channel 1 - Master: HD, Slave: None
  IDE Channel 2 - Master: HD, Slave: CDROM
==========================================

# Try 1
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
test3.dmotorw 3000M 11217  47 11639   9  6606   3 22020  81 29939   9 348.4   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  2429  95 +++++ +++ +++++ +++  2428  96 +++++ +++  5654  92
test3.dmotorworks.com,3000M,11217,47,11639,9,6606,3,22020,81,29939,9,348.4,1,16,2429,95,+++++,+++,+++++,+++,2428,96,+++++,+++,5654,92


# Try 2 (Inserted and mounted a disc beforehand just to make sure that the OS knew that the CDROM was there)
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
test3.dmotorw 3000M 10924  55 11554  13  6603   3 22328  82 29922   8 336.0   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  2379  95 +++++ +++ +++++ +++  2367  96 +++++ +++  5275  91
test3.dmotorworks.com,3000M,10924,55,11554,13,6603,3,22328,82,29922,8,336.0,1,16,2379,95,+++++,+++,+++++,+++,2367,96,+++++,+++,5275,91