Running Debian on iPad - Benchmarks
I am building a portable workstation on my iPad (will write more about later) and ended up with Debian 10.
Debian 10 is pretty old now and I decided to upgrade it to Debian 11 and then 12, but was not sure whether it would be too slow for the UTM VM which can have max 4GB of RAM, so I decided to test all of.
For this test I initially set up a basic Debian 10 without any GUI running (I disabled it completely). Performed tests on this VM. Then made a clone of a VM and performed regular upgrade instructions and upgraded it to Debian 11, performed tests on that vm too. Lastly I made a clone of this VM and upgraded it to Debian 12 and performed tests too.
Summary
Here’s the summary of tests. It appears that the upgrade was worth it, where Debian 11 had not just compatible performance with Debian 10 but actually exceeded it according to the tests. Debian 12 seemed to be a bit slower than Debian 11 and Debian 10
Test | Debian 10 | Debian 11 | Debian 12 |
---|---|---|---|
CPU Single Thread Events Per Second | 5.18 | 5.26 | 4.84 |
CPU Single Thread Total Time (s) | 10.1848 | 10.0479 | 10.1670 |
CPU Single Thread Latency Min (ms) | 189.49 | 188.42 | 190.69 |
CPU Single Thread Latency Avg (ms) | 191.99 | 189.40 | 205.49 |
CPU Single Thread Latency 95th (ms) | 193.38 | 189.93 | 227.40 |
CPU 4 Threads Events Per Second | 424.48 | 431.58 | 413.83 |
CPU 4 Threads Total Time (s) | 10.0067 | 10.0093 | 10.0080 |
CPU 4 Threads Thread Latency Min (ms) | 9.14 | 8.95 | 9.10 |
CPU 4 Threads Latency Avg (ms) | 9.38 | 9.22 | 9.62 |
CPU 4 Threads Latency 95th (ms) | 9.56 | 9.39 | 10.27 |
Disk Sequential Writes per second | 537.09 | 504.45 | 475.12 |
Disk Sequential Writes Throughput (MiB/s) | 8.39 | 7.88 | 7.42 |
Disk Sequential Writes Latency Min (ms) | 0.39 | 0.45 | 0.51 |
Disk Sequential Writes Latency Avg (ms) | 0.79 | 0.85 | 0.90 |
Disk Sequential Writes Latency 95th (ms) | 1.06 | 1.10 | 1.12 |
Memory Total Operations | 4096 | 4096 | 4096 |
Memory Total Time (s) | 9.6940 | 6.0970s | 6.2156 |
Memory Latency Min (ms) | 2.15 | 1.38 | 1.40 |
Memory Latency Avg (ms) | 2.35 | 1.48 | 1.50 |
Memory Latency 95th (ms) | 2.48 | 1.61 | 1.64 |
Test Methodology
I’ve used sysbench
To install it on Debian 10 I ran these commands:
curl https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt install sysbench
Then I ran those commands to run actual tests
#!/bin/bash
# CPU Benchmark
sysbench --test=cpu --cpu-max-prime=150000 run
sysbench --test=cpu --cpu-max-prime=15000 run --num-threads=4
#FILE IO Benchmark
sysbench --test=fileio --file-total-size=150G --file-test-mode=seqwr run
sysbench --test=fileio --file-total-size=150G cleanup
# MEMORY Benchmark
sysbench --test=memory --memory-block-size=1M --memory-total-size=4G run
Debian 10
CPU Single Thread
CPU speed:
events per second: 5.18
General statistics:
total time: 10.1848s
total number of events: 53
Latency (ms):
min: 189.49
avg: 191.99
max: 192.82
95th percentile: 193.38
sum: 10175.26
Threads fairness:
events (avg/stddev): 53.0000/0.00
execution time (avg/stddev): 10.1753/0.00
CPU Multi Thread (4)
CPU speed:
events per second: 424.48
General statistics:
total time: 10.0067s
total number of events: 4255
Latency (ms):
min: 9.14
avg: 9.38
max: 13.71
95th percentile: 9.56
sum: 39908.57
Threads fairness:
events (avg/stddev): 1063.7500/1.92
execution time (avg/stddev): 9.9771/0.00
Disk: Sequential Writes
File operations:
reads/s: 0.00
writes/s: 537.09
fsyncs/s: 697.24
Throughput:
read, MiB/s: 0.00
written, MiB/s: 8.39
General statistics:
total time: 10.0751s
total number of events: 12335
Latency (ms):
min: 0.39
avg: 0.79
max: 25.31
95th percentile: 1.06
sum: 9751.89
Threads fairness:
events (avg/stddev): 12335.0000/0.00
execution time (avg/stddev): 9.7519/0.00
Memory
Total operations: 4096 ( 421.34 per second)
4096.00 MiB transferred (421.34 MiB/sec)
General statistics:
total time: 9.6940s
total number of events: 4096
Latency (ms):
min: 2.15
avg: 2.35
max: 3.26
95th percentile: 2.48
sum: 9621.12
Threads fairness:
events (avg/stddev): 4096.0000/0.00
execution time (avg/stddev): 9.6211/0.00
Debian 11
CPU Single Thread
CPU speed:
events per second: 5.26
General statistics:
total time: 10.0479s
total number of events: 53
Latency (ms):
min: 188.42
avg: 189.40
max: 191.28
95th percentile: 189.93
sum: 10037.95
Threads fairness:
events (avg/stddev): 53.0000/0.00
execution time (avg/stddev): 10.0380/0.00
CPU Multi Thread (4)
CPU speed:
events per second: 431.58
General statistics:
total time: 10.0093s
total number of events: 4329
Latency (ms):
min: 8.95
avg: 9.22
max: 13.83
95th percentile: 9.39
sum: 39923.04
Threads fairness:
events (avg/stddev): 1082.2500/2.49
execution time (avg/stddev): 9.9808/0.00
Disk: Sequential Writes
File operations:
reads/s: 0.00
writes/s: 504.45
fsyncs/s: 645.80
Throughput:
read, MiB/s: 0.00
written, MiB/s: 7.88
General statistics:
total time: 10.0928s
total number of events: 11501
Latency (ms):
min: 0.45
avg: 0.85
max: 33.81
95th percentile: 1.10
sum: 9830.56
Threads fairness:
events (avg/stddev): 11501.0000/0.00
execution time (avg/stddev): 9.8306/0.00
Memory
Total operations: 4096 ( 669.00 per second)
4096.00 MiB transferred (669.00 MiB/sec)
General statistics:
total time: 6.0970s
total number of events: 4096
Latency (ms):
min: 1.38
avg: 1.48
max: 2.00
95th percentile: 1.61
sum: 6042.14
Threads fairness:
events (avg/stddev): 4096.0000/0.00
execution time (avg/stddev): 6.0421/0.00
Debian 12
CPU Single Thread
CPU speed:
events per second: 4.84
General statistics:
total time: 10.0820s
total number of events: 49
Latency (ms):
min: 190.69
avg: 205.49
max: 225.80
95th percentile: 227.40
sum: 10069.19
Threads fairness:
events (avg/stddev): 49.0000/0.00
execution time (avg/stddev): 10.0692/0.00
CPU Multi Thread (4)
CPU speed:
events per second: 413.83
General statistics:
total time: 10.0080s
total number of events: 4146
Latency (ms):
min: 9.10
avg: 9.62
max: 26.28
95th percentile: 10.27
sum: 39902.43
Threads fairness:
events (avg/stddev): 1036.5000/2.18
execution time (avg/stddev): 9.9756/0.00
Disk: Sequential Writes
File operations:
reads/s: 0.00
writes/s: 475.12
fsyncs/s: 611.12
Throughput:
read, MiB/s: 0.00
written, MiB/s: 7.42
General statistics:
total time: 10.0799s
total number of events: 10846
Latency (ms):
min: 0.51
avg: 0.90
max: 37.72
95th percentile: 1.12
sum: 9806.89
Threads fairness:
events (avg/stddev): 10846.0000/0.00
execution time (avg/stddev): 9.8069/0.00
Memory
Total operations: 4096 ( 655.99 per second)
4096.00 MiB transferred (655.99 MiB/sec)
General statistics:
total time: 6.2156s
total number of events: 4096
Latency (ms):
min: 1.40
avg: 1.50
max: 2.49
95th percentile: 1.64
sum: 6159.11
Threads fairness:
events (avg/stddev): 4096.0000/0.00
execution time (avg/stddev): 6.1591/0.00