Home Lab 2023

Much Better Late than Never …

24 years into a career as software developer / devops engineer I’ve set up a home lab to run experiments in softare development, operation, and performance.

There’s only a moderate amount of horsepower here, a mix of home equipment and office giveaways. But there’s an advantage to this limitation— efficiency is important.

Many computer science problems can be solved and demonstrated without giant distributed system architectures.

That will be the focus for the lab: efficient and direct. Let’s see what the year brings.

Specs For the Lab

Raspberry Pi connected over the home wifi, an Askey Wave 2

Apollo: Ubuntu on a Dell Precision. 8x Intel i7, 32 GB memory

Artemis: WSL2 on a UM700. 4x AMD Ryzen 7, 16 GB memory

Netgear FS108 Switch, 100 Mbps

Testing the Lab

  • Prometheus and Grafana installed on the Pi

  • Siege: 1000% recommended load testing tool

  • Nginx serving image files:

    • Holi2019.jpeg at 1 MB

    • Autumn.jpeg at 6.5 MB

  • Find out if we can hit the 100 Mbps spec on the Netgear switch

jtodd@artemis:~$ siege -g https://apollo.lan/Holi2019.jpeg
HEAD /Holi2019.jpeg HTTP/1.0
Host: apollo.lan
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (pc-x86_64-linux-gnu) Siege/4.1.6
Connection: close

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Sun, 22 Jan 2023 01:12:39 GMT
Content-Type: image/jpeg
Content-Length: 924017
Last-Modified: Sun, 08 Jan 2023 04:36:14 GMT
Connection: close
ETag: "63ba483e-e1971"
Accept-Ranges: bytes

jtodd@artemis:~$ siege -b -r 40 -c 40 https://apollo.lan/Holi2019.jpeg
** SIEGE 4.1.6
** Preparing 40 concurrent users for battle.
The server is now under siege...

....
Transactions:                   1600 hits
Availability:                 100.00 %
Elapsed time:                 125.89 secs
Data transferred:            1409.94 MB
Response time:                  3.13 secs
Transaction rate:              12.71 trans/sec
Throughput:                    11.20 MB/sec
Concurrency:                   39.79
Successful transactions:        1600
Failed transactions:               0
Longest transaction:            4.52
Shortest transaction:           0.77
jtodd@artemis:~$ siege -g https://apollo.lan/Autumn.jpeg
HEAD /Autumn.jpeg HTTP/1.0
Host: apollo.lan
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (pc-x86_64-linux-gnu) Siege/4.1.6
Connection: close

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Sun, 22 Jan 2023 01:24:58 GMT
Content-Type: image/jpeg
Content-Length: 6557981
Last-Modified: Sun, 08 Jan 2023 04:36:14 GMT
Connection: close
ETag: "63ba483e-64111d"
Accept-Ranges: bytes

jtodd@artemis:~$ siege -b -r 40 -c 40 https://apollo.lan/Autumn.jpeg
** SIEGE 4.1.6
** Preparing 40 concurrent users for battle.
The server is now under siege...

...
Transactions:                   1600 hits
Availability:                 100.00 %
Elapsed time:                 890.02 secs
Data transferred:           10006.68 MB
Response time:                 22.24 secs
Transaction rate:               1.80 trans/sec
Throughput:                    11.24 MB/sec
Concurrency:                   39.97
Successful transactions:        1600
Failed transactions:               0
Longest transaction:           23.80
Shortest transaction:          20.37