I thought it would be a good idea to run some quick benchmarks on my old mechanical drive before I wipe it and use it in another laptop. I have some pseudo-scientific charts and numbers here, but I also have some "me with a stopwatch" boot time numbers. They mostly only show how abysmal my boot-up times are, mostly because of all the extra junk I have starting up.
I clocked the time from hitting the power button to seeing grub at well under 2 seconds. For both tests, I brought up the grub menu and I did my best to hit
enter and start my stopwatch (a.k.a. my old Treo 650) at the same time.
When the GDM login appeared, I stopped the clock.
The 120 GB 7200 RPM laptop drive came in at a whopping 36 seconds. The X25 gave a much better result of 15 seconds. The software installed on both drives is exactly the same, but the root file system on the mechanical drive is ext3 instead of ext4. It isn't quite apples to apples, but it is what I have here in front of me.
Some Real Bonnie++ Benchmarks
Charts are nice, but here's the actual numbers to go along with it:
Version 1.03c ------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 Laptop PIIX Deadline X25-M 6464M 48265 96 81809 23 37340 11 36500 70 108486 18 5502 12 Laptop AHCI Deadline X25-M 6528M 45836 96 74973 15 36691 10 43531 78 139407 17 13431 39 Laptop PIIX CFQ X25-M 6464M 47577 96 82931 21 38706 11 46920 91 116400 20 4482 26 Laptop PIIX CFQ 120 GB 7200 RPM 6464M 45043 91 53992 14 19104 5 37053 81 46116 7 161.7 0 Laptop AHCI CFQ 120 GB 7200 RPM 6528M 41883 87 49245 10 17348 4 43423 82 56122 7 178.1 0 Xen Server Deadline RAID 10 1080M 68909 97 128789 45 48402 18 55770 91 106948 24 326.2 0 Laptop PIIX DL X25-M v1.4* 6280M 41521 77 69559 15 23754 6 30857 78 142922 13 5309 0 Laptop PIIX DL X25-M v1.4 TRIMed** 6280M 50354 98 66394 16 24923 8 31937 80 119348 19 4569 10 Laptop AHCI DL X25-M v1.4 TRIMed*** 6528M 42587 81 49367 11 23277 7 41588 81 150217 21 14115 35 Core I7 Laptop AHCI DL X25-M 8192M 56415 89 87157 11 39827 9 69707 98 298590 29 16150 45 KVM to FreeNAS 4096M 349 92 15619 4 6191 2 1884 95 57328 8 590 37
I included an old benchmark of my web server. It has four 7200 RPM SATA drives in a Linux software RAID 10. I am very happy with how well the X25-M compares to the array.
I tested both the CFQ and Deadline IO schedulers on the X25. The machine felt more responsive when the test was running on the Deadline scheduler. I started a to test the
noop scheduler but the machine felt much worse than it did during the CFQ test. I didn't bother letting that test continue after that.
Having AHCI and NCQ improves read performance pretty significantly and it seems to improve seek time dramatically, especially for the SSD. If you are able to use AHCI, I would recommend it.
I wanted to run some bonnie++ benchmarks against the X25 because I couldn't find any anywhere else. Bonnie++ doesn't do a very good job of highlighting the biggest advantage of the X25 because it only has one random access test.
Results From the "Butt Dyno"
Every time you make a performance modification to your car you have to take it for a test on the "butt dyno." It just means you get in the car and see how much faster it feels. Sometimes the performance boost is mostly in your head, like when you upgrade to a K&N air filter or a bigger exhaust.
Sometimes you install a bigger turbocharger. I remember the last time I did that. I bet I had a great big smile on my face during that first shift from first to second gear. It made a very noticeable difference in the performance of the car.
That's the way the X25-M feels. Everything loads a bit faster and I/O intensive background tasks are much less likely to bog down the rest of the machine. I sure didn't enjoy booting up the old platter drive to run the benchmarks on it…
How Hot is the X25-M?
When I pulled the X25 out to swap in the old drive, I noticed that it was warmer than I expected it to be. I imagine the metal housing makes it feel a bit warmer than an overworked SD card. My brain thought it was almost as warm as the old drive got.
I was very wrong. I pulled the mechanical drive out almost immediately after the bonnie++ runs. I would describe it as actually being hot. I put it down pretty quickly; it was uncomfortable to hold.
*Update 2009-10-27: X25-M v1.4 Firmware Update
I reran Bonnie with the latest firmware update. My test methodology is a little bit unfair. The previous tests were done on a very fresh drive. I'm now over 80% full and I probably have hundreds of gigs of rewrites on this drive.
I probably should have run a quick benchmark before I updated the firmware, but it is too late for that now! I am not surprised that most of the numbers went down. I am very surprised the sequential input speed is up by 30%. That is outperforming even my previous speeds with AHCI enabled.
**Update 2009-11-15: X25-M after a TRIM
I was able to TRIM my X25-M, so I reran the bonnie. Small sequential output was improved. I have no idea why sequential block input was up so high on the last test.
***Update 2009-12-15: X25-M freshly TRIMed with AHCI and 2.6.31 kernel with BFS
The patch is working very well so far, and I was itching to run a benchmark with AHCI and the newer v1.4 X25-M firmware. This benchmark may not be quite apples to oranges, though… I'm currently running Linux kernel version 2.6.31 patched with the BFS scheduler and most of the preempt options turned on.
Update 2010-03-24: X25-M transplanted into my new HP DV8T Core i7 laptop
The SATA 150 bottleneck is now gone. I expected it to break 200MB/s on the sequential input test but I certainly didn't expect to be approaching 300MB/s.
Update 2012-02-08: Bonnie++ in a KVM virtual machine…
This one is quite unrelated to the original topic of this article but this seems to be the place where I’ve been dumping all my random disk benchmarks…
I recently helped a friend build his FreeNAS box and I figure try out its iSCSI functions and hammer on his new home network a little bit. I’m running a KVM virtual machine on my laptop. KVM is using connecting iSCSI target over gigabit ethernet to the FreeNAS server. The disk is visible up as a KVM/QEMU disk to the virtual machine.
The iSCSI target is a file-based extent sitting on a four-drive RAID-Z6 volume. The results are less than stellar but not really any worse than I was expecting. I’m impressed that the IOPS is nearly twice as high as my benchmark on my old RAID 10 Xen server.