Diego Malagrida Computer Systems Performance Evaluation ↑ Top

AuthorDiego Malagrida

Published3 Aug 2026

Sectionsystems

Computer Systems Performance Evaluation

Seven practices on measuring a machine instead of guessing about it: monitoring, queueing models, workload clustering and a forecast of when it runs out.

Four stacked time series over a two-hour load test (requests/s, ProcessTime, QueueTime, SendTime), each with a linear regression, three moving averages and an exponential smoothing prediction drawn over the raw signal.
The raw signal against five prediction methods, for every variable the load test recorded.

Overview

A course’s worth of performance evaluation work in one repository: system monitoring, benchmarking with Sysbench, queueing-network models in QNAP2, workload characterisation with K-means, and capacity prediction.

The seven practices run the same argument from both ends. One end is measurement: sampling CPU and memory, and asking what the sampling interval does to the answer and how much the monitor itself costs; then Sysbench for response time, throughput and speedup. The other end is the model: queueing networks solved in QNAP2, and operational analysis with Mean Value Analysis, where the machine is a set of service centres rather than a set of readings.

The last practices put the two together. Five hours of samples are characterised with K-means into three regimes (a base load, an intermediate memory band and the CPU and memory spikes), and then the series is extrapolated with regression, moving averages and exponential smoothing to say when the capacity runs out, with the error of each method reported rather than the prettiest curve chosen.

Practices for the Computer Systems Performance Evaluation course at the Universitat de les Illes Balears, 2025–26. Each is self-contained: raw measurements, the scripts that produced them, the charts and the report.

pythonqueueing-theoryclusteringbenchmarking

← All projects