I think I’m now at the point where I have all the hardware assembled and it’s ready for testing. Now I’m trying to determine what set of fio tests to run. If you know of a set of standard tests, or just have some of your own, please let me know in the comments.
The disks I have assembled are all available via the LSI 9211-8i. The basic hardware specs are:
- motherboard – SUPERMICRO MBD-H8SGL-O ATX Server Motherboard (Supermicro link)
- CPU – AMD Opteron 6128 Magny-Cours 2.0GHz 8 x 512KB L2 Cache 12MB L3 Cache Socket G34 115W 8-Core Server
- RAM – Kingston 8GB 240-Pin DDR3 SDRAM ECC Registered DDR3 1600 Server Memory
- SATA card – LSI Internal SATA/SAS 9211-8i 6Gb/s PCI-Express 2.0 RAID Controller Card, Kit (LSI page)
FreeBSD 9.1-STABLE is installed on the following gmirrored HDD:
- Western Digital WD Blue WD2500AAKX 250GB 7200 RPM SATA 6.0Gb/s 3.5″ Internal Hard Drive -Bare Drive
- Seagate Barracuda ST250DM000 250GB 7200 RPM SATA 6.0Gb/s 3.5″ Internal Hard Drive -Bare Drive
These drives are connected to the motherboard SATA ports.
No tuning has been done on the OS.
Installed on this box is the following:
$ ls /var/db/pkg/ apr-188.8.131.52.4.1_3 gmake-3.82_1 pcre-8.32 aspell-0.60.6.1_2 help2man-1.41.1 perl-5.14.2_2 autoconf-2.69 joe-3.7_1,1 pkgconf-0.8.9 autoconf-wrapper-20101119 libgcrypt-1.5.0_1 portaudit-0.6.0 automake-1.12.6 libgpg-error-1.10 postfix-2.9.5,1 automake-wrapper-20101119 libiconv-1.14 postgresql-client-9.2.2_1 bacula-client-5.2.12 libtool-2.4.2 postgresql-contrib-9.2.2_1 bash-4.2.42 libxml2-2.7.8_5 postgresql-server-9.2.2_1 bison-2.5.1,1 libxslt-1.1.28 python27-2.7.3_6 bonnie++-1.97 m4-1.4.16_1,1 screen-4.0.3_14 db42-4.2.52_5 nagios-plugins-1.4.16,1 smartmontools-6.0 expat-2.0.1_2 neon29-0.29.6_4 sqlite3-184.108.40.206 fio-2.0.13 nrpe-2.13_2 subversion-1.7.8 gdbm-1.9.1 ossp-uuid-1.6.2_2 sudo-1.8.6.p5 gettext-0.18.1.1 p5-Locale-gettext-1.05_3
There is no real load on this machine. Any services provided are for testing, not for outside uses.
HDD available for testing
The following HDD are available for testing purposes and are connected to the LSI card mentioned above.
Also available, but not in the server are 3 additional 2 TB Seagate HDD. The plan is to remove the 3 x 3TB HDD and create a raidz2 array composed of 8 x 2TB Seagate drives for another test.
The plan so far
I plan to run tests on the following setups:
- A zpool raidz1 composed of the 4 x 2TB Seagate drives
- A zpool consisting of the single 3TB Toshiba drive
- A zpool consisting of the single 3TB WD Red drive
- A zpool consisting of the single 3TB Seagate drive
- A zpool consisting of the single 2TB Seagate drive
- UFS on 3TB Toshiba drive
- UFS on 3TB WD Red drive
- UFS on 3TB Seagate drive
- UFS on 2TB Seagate drive
- A zpool raidz2 composed of 8 x 2TB Seagate drives
I think we can also do some testing on zpool setups with and without the SSD being used as a ZIL/L2ARC.
A couple of interesting reads
I may use some of that for inventing some simple tests.
What set of tests to run?
One simple test I can think of is loading up a PostgreSQL database (e.g. psql example1 < freshports.org.sql). In this case, the raw uncompressed source file is about 8GB, and creates a database which is about 33GB on disk. But I want to do some other tests, which may be of use to others. I have fio set up and ready to do with a few simple tests (mostly just simple read/write). But if you have fio tests which you use, or know of other tests which I can grab and use, please let me know in the comments. Thanks.