Adding Numa information to mpstat

I use mpstat a lot and at times want to know if a numa node is busy or at times a specific core. Previously I would post process the mpstat data after comparing the data to the output of lscpu. A while ago I wrote a perl script to map this out and reworked this […]

Mapping VSAN components

Recently I had been asked to look at some performance issues on a bunch of VMs which were showing increased write latency. But how do you know where the VM is sending it’s I/O in such a distributed system? With VSAN the compute resource for a VM could be on one server where all I/O […]

CPU Spikes when calling a SCSI INQUIRY

We were seeing some spike in CPU usage every 15 minutes on some new servers. As these systems were idle i.e. no workload apart from the operating system this makes an investigation slightly easier as we don’t have any application workloads to add to the mix. Below we can see an example of the spikes […]

Building a dynamic QOS with eBPF and Cgroups

In my previous posts I have shown how the SolidFire Array QOS  implements QOS on a per volume basis. As I was looking for a new project I asked myself could I write a similar QOS program which runs on a virtual machine? I wondered could I dynamically change the Linux built-in QOS(throttling) which is […]

SolidFire QOS Part 3 – Monitoring

In the previous post I showed how we can work out the QOS values from the average I/O size for a volume. In this post I will show a tool which was created to help monitor if a volume is at its QOS limit. As a quick reminder from the previous post if we look […]

A linux type sar -n DEV for ESXi 6

I have been looking a lot at ESX performance and today I was looking at network stats. I can get network data in two second samples from esxtop however parsing of the data is cumbersome. I could use powershell however in this method I need to do a delta from two sets of data where […]