I run it out of my closet. The blog is a small Go program deployed to a k8s cluster across a few ESXi VMs on an HP DL380 G7, behind a pfSense router also running as a VM and using HAProxy for TLS offloading. My connection is 1gbps symmetric.
With no cache on my local network, Chrome reports the page loads fully in ~500ms, using the "slow 3G connection" performance tab preset it takes ~4s.
If you're nowhere near Little Rock, Arkansas; that might be the issue. I don't yet use a CDN and it always loads the same resolution image ("high" quality JPEG, ~200kb apiece).
It's over-engineered, but I wanted to try running k8s in my homelab to continue learning about networking; deploying a blog seemed like a perfect test case. The cluster uses Traefik, https://github.com/travisghansen/kubernetes-pfsense-controll... to sync service definitions to HAProxy, and MetalLB. The k8s service IPs are routable from my local network, as well as the MetalLB IPs, and MetalLB handles syncing them to pfSense using BGP. pfSense sends DNS for any *.k8s.home.arpa to k8s, so I can resolve e.g. blog.default.svc.k8s.home.arpa on my local network.
One interesting hiccup: I had to introduce a NAT at pfSense because MacBooks don't listen to ICMP redirects, the packet would go laptop -> router -> k8s and then k8s -> laptop. Since the MacBook ignored the ICMP redirect, it drops the reply packet.
I started using desktop linux again after a nearly 10 years hiatus on a spare laptop, and as I see, GNOME is getting more stupider by the release. KDE is fine, the devs don't really think they know better what you want, not like the GNOME folks.
I loved SUSE for a long time, but their future plans for Leap had me looking elsewhere. They want to make the next Leap microOS bases, so a transactional immutable base. No thanks I don't need that. Moreover they want to kill yast for some web based stuff with way less feature.