Can I use Caddy for a high-traffic site?

Here’s updated Caddy 0.9 benchmark numbers for h2load HTTP/2 based load tetsing https://community.centminmod.com/posts/34367/

For h2load single thread

For Centmin Mod Nginx 1.11.3 HTTP/2 port 443 = 11,322.50 req/s average

echo "CentminMod.com Nginx 1.11.3 HTTP/2 h2load stress test"; sleep 30; for i in {1..3}; do /usr/local/bin/h2load -c1000 -m100 -n50000 -v https://domain1.com:443 > h2load.$i.log; cat h2load.$i.log | awk '/finished in/ {print $4 " req/s "} /requests: / {print ($8/$2*100)"% completed"}' | tr -d '\n'; echo; sleep 30; done;
CentminMod.com Nginx 1.11.3 HTTP/2 h2load stress test
8896.39 req/s 100% completed
17788.95 req/s 100% completed
7282.18 req/s 100% completed

For Caddy 0.9 HTTP/2 port 448 = 3,751.71 req/s average

echo "Caddy 0.9 HTTP/2 h2load stress test"; sleep 30; for i in {1..3}; do /usr/local/bin/h2load -c1000 -m100 -n50000 -v https://domain1.com:448 > h2load.$i.log; cat h2load.$i.log | awk '/finished in/ {print $4 " req/s "} /requests: / {print ($8/$2*100)"% completed"}' | tr -d '\n'; echo; sleep 30; done;
Caddy 0.9 HTTP/2 h2load stress test
3908.97 req/s 100% completed
3504.25 req/s 100% completed
3841.91 req/s 100% completed
  • CentminMod.com Nginx 1.11.3 HTTP/2 h2load stress test cpu load peaked at 0.60 and 548MB total memory used
  • Caddy 0.9 HTTP/2 h2load stress test cpu load peaked at 1.57 and 1289MB total memory used

For h2load 2 threads https://community.centminmod.com/posts/34379/

  • CentminMod.com Nginx 1.11.3 HTTP/2 h2load stress test cpu load peaked at 0.62 and 551MB total memory used
  • Caddy 0.9 HTTP/2 h2load stress test cpu load peaked at 1.86 and 1393MB total memory used

Note, Nginx was with LibreSSL 2.4.2 compiled but seems OpenSSL 1.0.2h and 1.1.0 would have even better performance https://community.centminmod.com/threads/openssl-1-1-0-pre6-vs-openssl-1-0-2h-vs-openssl-1-0-1e-vs-libressl-2-4-2-vs-libressl-2-3-6.8272/

2 Likes