TPS Reports? (Testing PostgreSQL under SmartOS)

Rob and I are working on updating our standard environmnent in our data centers. As may be clear already, we're big proponents of SmartOS, which has been working really well for our needs. We've also big proponents of automation (and, in particular, Ansible).

Due to a hardware failure this weekend, we had to promote our test environment to a production machine while waiting for a power supply to be sourced (yeah, our next environments are going to be dual power supply, now that we have dual feeds to the rack). This left me without a test box, which turned out to be more of a problem than I'd realized, because some of my automated tests for my macOS and iOS development require a functioning server.

Enter Toys-R-Us... well, of course, Toys-R-Us has exited, but in doing so, they provided us the opportunity to pick up some recent-model Dell kit at ridiculously low prices. As Rob had recently installed my two machines (R330s) in the rack, I now have the opportunity to take them for a real-world spin. As an added bonus, we've got 10K 300GB SAS drives in one (running mirrored) and 500GB SATA SSDs (Samsung 850 EVO) running in the other (also mirrored). Compare and contrast this to our existing HP DL160g6 servers which have RAIDZ2 4-drive x 4TB 5400RPM WD Red drives, and it looks like we've got an opportunity for a bit of a bake off.

My first test is to take a look at the PostgreSQL performance on these systems. Apples-to-Apples will be a bit harder, but we've got some interesting comparisons here anyway, so I've rolled out pgbench for the testing and have chosen to simulate my workload using TPC-B (sortof), which is the tool's default with 100 clients on 10 threads, with 100 transactions per (pgbench -c 100 -j 10 -t 100).

System Latency Average TPS (w/estab)
Dell R330 w/SSD 135.242 739.415489
Dell R330 w/Quickly Spinning Rust 456.189 219.207000
HP DL160g6 w/Spinning Rust 996.330 100.368323

So, there you have it, the not-so-surprising news that mirrored SSDs are faster than mirrored 300GB 10K SAS drives when running certain PostgreSQL benchmarks on a system doing nothing else.