n0derunner

    Notes on tuning postgres for cpu and memory benchmarking

    Published: (Updated: ) in Postgres, Database Performance, , , , , by . Leave a Comment on Notes on tuning postgres for cpu and memory benchmarking.

    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 […]

    A Nutanix / Prometheus exporter in bash

    Published: (Updated: ) in Nutanix, SQL Server, , , , , by . Leave a Comment on A Nutanix / Prometheus exporter in bash.

    Overview For a fun afternoon project, how about a retro prometheus exporter using Apache/nginx, cgi-bin and bash!? About prometheus format A Prometheus exporter simply has to return a page with metric names and metric values in a particular format like below. When you configure prometheus via prometheus.yml you’re telling prometheus to visit a particular IP:Port […]

    Effects of CPU topology on sqlserver guests with AHV.

    Published: (Updated: ) in Linux Virtualization, AHV, SQL Server, , , , , by . Leave a Comment on Effects of CPU topology on sqlserver guests with AHV..

    VM CPU Topology The topology (layout) that AHV presents virtual Sockets/CPU to the guest operating system will usually be different than the physical topology. This is expected because we typically present a subset of all cores to the guest VMs. Usually it is the total number of vCPU given to the VM that matters, not […]

    Database sizes for HammerDB TPC-C/ SQLserver

    Published: (Updated: ) in Database Performance, SQL Server, by . Leave a Comment on Database sizes for HammerDB TPC-C/ SQLserver.

    The on disk size for small DB sizes. Taken from SQLserver properties immediately after creating the TPC-C like schema in HammerDB and then using server and then using Tasks->Shrink->Database. Warehouse Count Database size 10 826 MB 100 8,057 MB

    How to monitor SQLServer on Windows with Prometheus

    Published: (Updated: ) in Telemetry, Database Performance, , , by . Leave a Comment on How to monitor SQLServer on Windows with Prometheus.

    TL;DR

    Generate load on Microsoft SQLserver Windows from HammerDB on Linux

    Published: (Updated: ) in Database Performance, , , , , by . Leave a Comment on Generate load on Microsoft SQLserver Windows from HammerDB on Linux.

    Often it’s nice to be able to drive Windows applications and databases from Linux, especially if you are more comfortable in a Unix environment. This post will show you how to drive a Microsoft SQL Server database running on a Windows server from a remote Linux machine. In this example I am using Ubuntu 22.04, […]

    How to generate a new hostid for a Cassandra node.

    Published: (Updated: ) in Database Performance by . Leave a Comment on How to generate a new hostid for a Cassandra node..

    If you clone a Cassandra VM with the goal of creating a cassandra cluster – you may find that every Cassandra node has the same hostID.

    How to drop tables for HammerDB TPC-C on SQL Server

    Published: (Updated: ) in SQL Server, , , by . Leave a Comment on How to drop tables for HammerDB TPC-C on SQL Server.

    From the SQL Window of SQL*Server. Issue these commands to drop the tables and procedures created by HammerDB. This will allow you (for instance) to re-create the database, or create a new database with more warehouses (larger size) while retaining the same name/DB layout.

    Understanding Concurrency Parameters in pgbench

    Published: (Updated: ) in Postgres, , , by . Leave a Comment on Understanding Concurrency Parameters in pgbench.

    How to use the “jobs” and “clients” parameters in pgbench without going crazy.

    Postgres pgbench scale-factors and WSS

    Published: (Updated: ) in Postgres, , by . Leave a Comment on Postgres pgbench scale-factors and WSS.

    Scale factor to workingset size lookup for tiny databases

    How to drop tables for HammerDB TPC-H on SQL Server

    Published: (Updated: ) in SQL Server, , , by . Leave a Comment on How to drop tables for HammerDB TPC-H on SQL Server.

    Use the following SQL to drop the tables and indexes in the HammerDB TPC-H schema, so that you can re-load it.

    SQL Server uses only one NUMA Node with HammerDB

    Published: (Updated: ) in SQL Server, , by .

    Some versions of HammerDB (e.g. 3.2) may induce imbalanced NUMA utilization with SQL Server. This can easily be observed with Resource monitor. When NUMA imbalance occurs one of the NUMA nodes will show much larger utilization than the other. E.g. The cause and fix is well documented on this blog. In short HammerDB issues a […]

    HammerDB: Avoiding bottlenecks in client.

    Published: (Updated: ) in Database Performance, , , , by .

    How to avoid bottlenecks in the client generator when measuring database performance with HammerDB

    How to run vertica vioperf tool

    Published: (Updated: ) in Database Performance, , , by .

    The vertica vioperf tool is used to determine whether the storage you are planning on using is fast enough to feed the vertica database. When I initially ran the tool, the IO performance reported by the tool and confirmed by iostat was much lower than I expected for the storage device (a 6Gbit SATA device […]

    View from Nutanix storage during Postgres DB benchmark

    Published: (Updated: ) in Nutanix, Postgres, , by .

    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 […]

    Benchmarking with Postgres PT2

    Published: (Updated: ) in Postgres, , , by .

    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 […]

    Benchmarking with Postgres PT1

    Published: (Updated: ) in Postgres, , , by .

    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 […]

    Performance gains for postgres on Linux with hugepages

    Published: (Updated: ) in Postgres, , , , by .

    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” […]

    SuperScalin’: How I learned to stop worrying and love SQL Server on Nutanix.

    Published: (Updated: ) in SQL Server, , , , by . 3 Comments on SuperScalin’: How I learned to stop worrying and love SQL Server on Nutanix..

    TL;DR  It’s pretty easy to get 1M SQL TPM running a TPC-C like workload on a single Nutanix node.  Use 1 vDisk for Log files, and 6 vDisks for data files.  SQL Server  needs enough CPU and RAM to drive it.  I used 16 vCPU’s  and 64G of RAM. Running database servers on Nutanix is an […]