UdS FS infra benchmarks
The main goal is to figure out what network latency is acceptable for NFS. Testing with netem might be a way to do so.
Workload benchmarks are:
- create N files
- read N files
- ls folder
- del N files
- sequential reads
- random read/writes
- sequential writes
Usage
Run automated benchmark that automatically sets the netem latency and measures all of the above:
python3 latency_benchmark.py benchmark <iface>
# optional with custom latency list:
python3 latency_benchmark.py benchmark <iface> "[0, 1000, 2000, 4000, 8000, 16000, 32000]"
The results are dumped to a <node_name>.csv
file, and three plots (IOPS, bandwidth, and file operations) are stored in the working directory.
Exemplary, we can see from the bandwidth plot below, (which has a log y-axis) that the bandwidth is scaling exponentially with the latency:
The fileops on the other hand scale linearly (note, this is the only plot not in log scale!):