Tyler Langlois writes about Linux systems and infrastructure: systemd, Nix, SSH, routers, and benchmarks like Caddy versus nginx.
HN commenters cite his Caddy vs. nginx benchmark, his systemd timers post, and his guide to building a router on an Espressobin.
I understand the optimisation, I'm just saying I'm sceptical the optimisation is even that useful, like it seems it'd only kick in with pathological cases where kernel round trip time is really dominating; my gut reckons most applications just don't benefit. Caddy in the last few years got sendfile support and with it on and off and it usually you wouldn't see a discernible difference [1].
Which makes me sceptical for the argument for kTLS which is stated in the article; what benefit does offloading your crypto to the kernel provider (possibly making it more brittle). I've seen the author of haproxy say that performance he's seen has been only marginal, but did point out it was useful in that you can strace your process and see plaintext instead of ciphertext which is nice.
[1]: https://blog.tjll.net/reverse-proxy-hot-dog-eating-contest-caddy-vs-nginx/#appendix-b-caddy-sendfile
Looks like the new odroid c4 (raspberry pi competitor) has this g31 chip. [0,1]
Might be interesting to try building a cluster with these. [2]
I wonder how much remaining work there is for full upstream support on these AmLogic chips? The problem with arm chips has always been limited upstream distro support.
The Linux-Sunxi folks have been working for years to get the Allwinner stack up to snuff... it’s taken a long time.[3]
Is there any community around the AmLogic and Rockchip stuff as solid and coordinated as the Allwinner folks?
[0] https://www.hardkernel.com/shop/odroid-c4/
[1] https://www.cnx-software.com/2020/04/23/50-odroid-c4-raspberry-pi-4-competitor-combines-amlogic-s905x3-soc-with-4gb-ram/
[2] https://blog.tjll.net/distributed-homelab-cluster/#network-consensus-and-service-discovery
[3] https://linux-sunxi.org/Linux_mainlining_effort
https://blog.tjll.net/
The posts that made it to the top of HN (that I can recall at this moment)
35 Million Hot Dogs: Benchmarking Caddy vs. Nginx (https://blog.tjll.net/reverse-proxy-hot-dog-eating-contest-caddy-vs-nginx/)
SSH Kung Fu (https://blog.tjll.net/ssh-kung-fu/)
Building My Ideal Router for $50 (https://blog.tjll.net/building-my-perfect-router/)
I've been using nix/nixos a lot lately and will probably end up publishing more in that general area of interest. That and my excessively-overengineered homelab.
I really like Caddy, but these nginx performance comparisons are never really supported in benchmarks.
There have been numerous attempts to benchmark both (One example: https://blog.tjll.net/reverse-proxy-hot-dog-eating-contest-caddy-vs-nginx/#results ) but the conclusion is almost always that they're fairly similar.
The big difference for simple applications is that Caddy is easier to set up, and nginx has a smaller memory footprint. Performance is similar between the two.
I personally use shorewall on an Espressobin ( though any multi-port computer works ). The guide I followed is here:
https://blog.tjll.net/building-my-perfect-router/
( BTW, I would not recommend the espressobin if you want gigabit speeds )
I can't find the one I got originally, but any wifi AP works, like amzn.com/B010S6SG3S
Just get one for the approximate bandwidth you want to support.
Caddy uses more RAM and has no inherent benefit when running a project in production professionally. Caddy is easier for self hosted cause it automatically handles HTTPS where Nginx does not.
Related reading:
https://blog.tjll.net/reverse-proxy-hot-dog-eating-contest-caddy-vs-nginx/