This repository was archived by the owner on Jan 13, 2023. It is now read-only.

Description
See related: Test Performance and Functionality on Raspberry Pi OS 64-bit
With the full configuration (excluding NextCloud), all tests run 4x, discarded first result (unless noted), then averaged the next 3:
Disk Benchmarks
| Disk |
4K Random Read |
4K Random Write |
| CM3+ 8 GB eMMC |
8.99 MB/sec |
9.20 MB/sec |
| CM3+ microSD - Samsung Evo+ 32GB |
6.97 MB/sec |
2.90 MB/sec |
| CM3+ Kingston USB 2.0 SSD |
8.87 MB/sec |
10.04 MB/sec |
| Pi 4 microSD - Samsung Evo+ 32GB |
11.81 MB/sec |
3.25 MB/sec |
| Pi 4 Kingston USB 3.0 SSD w/o UASP |
14.41 MB/sec |
23.28 MB/sec |
| Pi 4 Kingston USB 3.0 SSD w/ UASP |
20.59 MB/sec |
28.54 MB/sec |
(Another note: The onboard eMMC also does large file writes at ~5-10 MB/sec whereas the microSD cards can do 20-40 MB/sec in some cases... but the eMMC is a way better option for general purpose computing since it's more durable and 3x faster than the fastest microSD cards for random IO (and 10-100x faster than the majority of microSD cards I've tested).
Network Benchmarks
| Configuration |
Speed |
| Pi 4 2GB in Dramble |
936 Mbps |
| CM3+ in Turing Pi |
95 Mbps |
iperf -s on Pi master node, iperf -c [pi-pi] on my Mac, connected through TRENDnet 10/100/1000 5-port network switch.
Note that the Turing Pi cluster does support the full 95 Mbps on each Pi simultaneously. So you can saturate a 1 Gbps connection to the Turing Pi cluster as a whole.
Full System Benchmarks
7-node Turing Pi Cluster
32-bit HypriotOS
| Test |
Result |
Drupal, authenticated (ab) |
6.65 req/s |
Drupal, anonymous (wrk) |
28.29 req/s |
Wordpress, authenticated (ab) |
21.35 req/s |
Wordpress, anonymous (wrk) |
25.53 req/s |
| Minecraft, world initialization |
983 seconds1 (~16.4 min) |
4-node Pi Dramble Cluster (Running K3s, same configs)
32-bit HypriotOS
| Test |
Result |
Drupal, authenticated (ab) |
14.12 req/s |
Drupal, anonymous (wrk) |
85.85 req/s |
Wordpress, authenticated (ab) |
31.36 req/s |
Wordpress, anonymous (wrk) |
40.36 req/s |
| Minecraft, world initialization |
407 seconds1 (~6.8 min) |
32-bit Raspberry Pi OS
| Test |
Result |
Drupal, authenticated (ab) |
12.71 req/s |
Drupal, anonymous (wrk) |
95.87 req/s |
Wordpress, authenticated (ab) |
39.51 req/s |
Wordpress, anonymous (wrk) |
49.74 req/s |
| Minecraft, world initialization |
300 seconds (~5 min) |
64-bit Raspberry Pi OS
| Test |
Result |
Drupal, authenticated (ab) |
10.84 req/s |
Drupal, anonymous (wrk) |
73.67 req/s |
Wordpress, authenticated (ab) |
36.64 req/s |
Wordpress, anonymous (wrk) |
42.69 req/s |
| Minecraft, world initialization |
400 seconds1 (~6.7 min) |
ab test example: ab -n 100 -c 10 -C "SESSION=COOKIE" http://drupal.10.0.100.74.nip.io/
wrk test example: wrk -t4 -c100 -d30 http://drupal.10.0.100.74.nip.io/
- Minecraft initialization time from
kubectl logs -n minecraft -l app=minecraft-minecraft | grep Done
1 This test needs to be re-run after 15 minute cool-down and run three times in progression. The first time I ran the tests I accidentally only took the first run, and didn't take the average of the final three runs. Oops.