Recently I wanted to measure the impact of NUMA placement and Hugepages on the performance of postgres running in a VM on a Nutanix node. To do this I needed to drive postgres to do real transactions but have very little jitter/noise from the filesystem and storage. After reading a lot of blogs I came […]
How to use the “jobs” and “clients” parameters in pgbench without going crazy.
Scale factor to workingset size lookup for tiny databases
Following on from the previous [1] [2] experiments with Postgres & pgbench. A quick look at how the workload is seen from the Nutanix CVM. The Linux VM running postgres has two virtual disks: One is taking transaction log writes. The other is doing reads and writes from the main datafiles. Since the database size […]
In this example we run pgbench with a scale factor of 1000 which equates to a database size of around 15GB. The linux VM has 32G RAM, so we don’t expect to see many reads. Using prometheus with the Linux node exporter we can see the disk IO pattern from pgbench. As expected the write […]
In this example, we use Postgres and the pgbench workload generator to drive some load in a virtual machine. Assume a Linux virtual machine that has Postgres installed. Specifically using a Bitnami virtual appliance. Once the VM has been started, connect to the console Allow access to postgres port 5432 – which is the postgres […]
For this experiment I am using Postgres v11 on Linux 3.10 kernel. The goal was to see what gains can be made from using hugepages. I use the “built in” benchmark pgbench to run a simple set of queries. Since I am interested in only the gains from hugepages I chose to use the “-S” […]