Pure Storage® FlashArray™//X provides a valuable combination of 100% NVMe all-flash performance, optional NVMe-oF for maximum performance and data center saving density, as well as rich enterprise features delivered via the Purity Operating Environment. With FlashArray, you can accelerate and consolidate production database applications as well as provide a robust storage infrastructure on which you can bet your business.
Why PostgreSQL? According to DB-Engines, PostgreSQL is the fastest growing database management system. In this post, we’ll compare the performance of PostgreSQL 12 on the FlashArray//X R3 vs. a SAS-DAS based system and discuss the benefits of using a modern data platform.
We tested PostgreSQL on Cisco UCS servers and FlashArray//X90 R3. The Cisco M5 server was connected to the FlashArray via Fibre Channel connections using Cisco’s VIC FCoE HBA [1137:0045] (rev a2) HBAs. There were eight paths from the host to the FlashArray (Figure 2). The same server was also configured with a 12G SAS RAID controller and two SAS SSDs.
Here is the complete breakdown of the setup:
We tested PostgreSQL using the SysBench benchmarking tool to compare the performance between PostgreSQL deployed on the FlashArray//X 90 R3 and the SAS-DAS system. SysBench is a very popular, extensible, multi-platform and multi-threaded benchmark tool for evaluating OS and database parameters that are vital for a system under immense load.
Configuration of Sysbench: TPCC-like data is used with sysbench with a scale factor of 100 and 10 warehouses.
We deployed PostgreSQL 12 with data volumes mounted using the FlashArray//X90 R3. Then, we mounted the same data volume using SAS-DAS RAID 0 disks. We then executed a Sysbench-generated workload executed against the PostgreSQL configuration on the FlashArray and DAS systems.
The SysBench performance report included an average number of transactions per second (tps) and latency. To adequately represent varying workloads, we increased the number of threads that simulate the number of database users and took measurements with each simulation.
We increased the number of threads for each run, then performed a forced checkpoint between each run. See the pseudo script for the SysBench testing:
for thr in 48 64 96 128 256 512 1024
sysbench /usr/share/sysbench/tpcc.lua --threads=$thr --tables=10 --scale=100 --pgsql-user=postgres --pgsql-password=XXXXXXX --pgsql-db=sysbench --db-driver=pgsql --time=XXX --report-interval=10 run
su postgres << EOF
psql -c "checkpoint;"
echo "***CHECKPOINT DONE****"
As mentioned previously, we changed the mount point between the FlashArray//X90 R3 volumes and the SAS-DAS RAID 0 disks, then executed the same script again.
Transactions per Second: Figure 3 shows that PostgreSQL 12 running on FlashArray//X 90 R3 had up to 20.48% higher tps than the SAS-DAS based database.
Latency: Latency is much lower on the FlashArray//X compared to SAS-DAS. The latency results show a negative delta, meaning that latency was as much as 12.66% less on the FlashArray//X (Figure 4).
As our testing demonstrates, the performance of PostgreSQL 12 on the FlashArray//XR3 is better than it is on a comparable SAS-DAS system. While known for providing sub 1ms latency and strong, consistent performance for database workloads, FlashArray//X provides additional rich enterprise features that you won’t usually find with DAS. These include:
Based on these results, we believe Pure Storage FlashArray//X is a better choice than DAS for PostgreSQL database workloads. Learn more about our third generation FlashArray//X if you want to avoid the complexity, cost, and availability disadvantages typically associated with siloed DAS architectures.