eva2000
(George)
August 9, 2016, 1:59pm
21
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
stp
(Michael)
August 9, 2016, 6:31pm
22
Thanks for the insights. Really awesome. Would love to see some stats with some plugins like rewrite, proxy, minify.
1 Like
matt
(Matt Holt)
August 9, 2016, 6:41pm
23
Yes, thanks for running the tests!
Would also love to see some optimizations contributed
1 Like
eva2000
(George)
August 10, 2016, 5:36am
24
Unfortunately not a Golang programmer
eva2000
(George)
August 10, 2016, 5:41am
25
Yeah that would be next up i suppose
stp
(Michael)
August 10, 2016, 10:18am
26
As a general suggestion.
Kubernetes does performance tests as per commit and/or PR and/or release.
It would be great to see the performance impact automatically on PRs/releases I assume.
I will keep it on my “could be done list” until I have time, for anyone faster go for it please.
1 Like
Hey could you profile which part of caddy is eating up the resources?
Maybe its faster with nginx because of AES-NI, i dont know if golang has incorporated support for that.
Casper_LI
(Casper LI)
November 17, 2016, 9:58am
28
Since it is written in Go Language ?
eva2000
(George)
May 27, 2017, 3:53am
29
It’s been a while since I tested Caddy for above benchmarks so haven’t profiled as such. Was hoping this discussion would prompt others who know more to look into this as well
other folks have posted benchmarks too https://ferdinand-muetsch.de/caddy-a-modern-web-server-vs-nginx.html
Could you please give some information (e.g. your caddyfile) that we could setup local test environment?
eva2000
(George)
May 27, 2017, 8:56am
31
mikorist
(Mikorist)
November 28, 2017, 4:22pm
32
I use Caddy with HHVM now.
Very loaded site.
20.000 req/s . CPU load 2 and 900MB memory used.
is there a possibility to compile Caddy with LibreSSL 2.4.2 ?
matt
(Matt Holt)
November 28, 2017, 4:22pm
33
Nope, Caddy uses a Grade-A memory safe TLS implementation only.
2 Likes
mikorist
(Mikorist)
November 28, 2017, 4:27pm
34
Well, that’s better. My ram is not a problem. There is plenty of room for up to 32GB
1 Like