Nginx vs Caddy Performance

แชร์
ฝัง

ความคิดเห็น • 294

  • @AntonPutra
    @AntonPutra  12 วันที่ผ่านมา +9

    ► What should I test next?
    ► AWS is expensive - Infra Support Fund: buymeacoffee.com/antonputra
    ► Benchmarks: th-cam.com/play/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn.html&si=p-UOaVM_6_SFx52H

    • @Ferrb9579
      @Ferrb9579 12 วันที่ผ่านมา +1

      NGINX vs Pingora? Pingora has a nice story from cloudflare

    • @danirdd92
      @danirdd92 12 วันที่ผ่านมา +2

      Here's an interesting experiment. Logging platforms
      Elastic (EFK) VS Loki-grafana

    • @lucianoseibel
      @lucianoseibel 12 วันที่ผ่านมา +1

      It's interesting... what is more expensive? Aws azure gcp oci ?

    • @systemsbyvedant
      @systemsbyvedant 11 วันที่ผ่านมา

      ocaml vs elixir vs go

    • @darkoplax7688
      @darkoplax7688 11 วันที่ผ่านมา +1

      Prisma vs Drizzle

  • @IntuitiveCode
    @IntuitiveCode 12 วันที่ผ่านมา +129

    Thanks to that one guy who commented for this.

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +7

      😊

    • @DavidSmith-ef4eh
      @DavidSmith-ef4eh 11 วันที่ผ่านมา

      pls do dart angel next
      jk, don't actually do it

  • @pable2
    @pable2 12 วันที่ผ่านมา +103

    We asked and we received.. Thank you so much!

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +4

      my pleasure!

    • @capybara0612
      @capybara0612 11 วันที่ผ่านมา +1

      U the best

  • @JimBrännlund
    @JimBrännlund 11 วันที่ผ่านมา +18

    You sir, are criminally undersubbed!

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      haha ❤️

  • @MrTechhack
    @MrTechhack 11 วันที่ผ่านมา +16

    This is honestly amazing good work 👍

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +4

      Thank you! I'll do Traefik in a few days.

  • @vuongphaminh2293
    @vuongphaminh2293 12 วันที่ผ่านมา +20

    Nice, next video please compare Nginx, HAProxy, and Envoy as reverse proxies.

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +6

      ok will do, but first i need to update ruby test with native implementation without rails

    • @prowhiskey2678
      @prowhiskey2678 11 วันที่ผ่านมา +1

      In my testing nginx was significantly faster, but who knows with this better testing

    • @enuhtz8cifpn6kh29
      @enuhtz8cifpn6kh29 11 วันที่ผ่านมา +1

      @@AntonPutra and traefik pls

  • @Madinko12
    @Madinko12 9 วันที่ผ่านมา +7

    Nice benchmarks. Bet most people hating on Caddy in the comments are the same reverse proxying a low trafic nodejs or python app with nginx BeCaUsE iT's FaStER. You don't pick caddy because it's the fastest reverse proxy around, you pick it because it's fast and reliable enough, because the reverse proxy is rarely a bottleneck and you get automatic certificates, ARI and OCSP staples, automatic HTTP3, Caddyfiles, nice docs, nice logs, nice containers, nice CLI, nice defaults, caddy modules. Sure one should consider alternatives carefully on exceptionally demanding apps.

    • @Atmos41
      @Atmos41 8 วันที่ผ่านมา +2

      Also reverse proxy is such an easy thing to migrate. If performance is the concern, this is probably not the bottleneck, and if it is it's a very small rewrite.
      Also getting started with Caddy is a no-brainer.

  • @Techonsapevole
    @Techonsapevole 12 วันที่ผ่านมา +46

    Cool can you test traefik

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +34

      yes, next i have to refresh the ruby video using the native implementation, and then i'll do nginx vs traefik

    • @JokingChickenn
      @JokingChickenn 11 วันที่ผ่านมา +1

      ​@@AntonPutrathank you for all the work!

    • @capybara0612
      @capybara0612 11 วันที่ผ่านมา +1

      @@AntonPutrai think you can close the chapter after traefik. Nginx seems to be the king, still

    • @Techonsapevole
      @Techonsapevole 11 วันที่ผ่านมา +1

      @@AntonPutra super!

    • @PragmaticPragmatist
      @PragmaticPragmatist 10 วันที่ผ่านมา

      Traefik vs nginx please

  • @roger-sei
    @roger-sei 11 วันที่ผ่านมา +79

    Last year I almost migrated from Apache to Caddy. Then I remember the golden rule: don’t follow the hype

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +5

      true

    • @DJenriqez
      @DJenriqez 11 วันที่ผ่านมา +7

      but that is how new job opportunities are created,... now you would have been working on migrating back

    • @MelroyvandenBerg
      @MelroyvandenBerg 11 วันที่ผ่านมา +3

      Migrate from Apache to Nginx though ;P

    • @roger-sei
      @roger-sei 10 วันที่ผ่านมา

      @@MelroyvandenBerg Apache is very underrated web server. NPM event does a very good job handling thousands requests/s. I use it as load balancer, static files server and reverse proxy.

  • @LukasRotermund
    @LukasRotermund 11 วันที่ผ่านมา +5

    💡 That is really interesting. I could swear it's the other way around, of course I believe your benchmark. My server was attacked via DoS and I swapped my NGINX reverse proxies on the host and in Docker for Caddy and my server was able to handle requests again and stabilised.
    You may be able to find my blog post on this under my name, where I also compared the configs I was using. Probably my NGINX was just misconfigured.

    • @LukasRotermund
      @LukasRotermund 11 วันที่ผ่านมา +1

      Oh, I just finished your video and saw the CPU metric. My simple VPS has a reduced CPU and ran into CPU locks, that could explain its behavior.
      In my case, Caddy was a good choice.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      thanks for your feedback! i'll try to find your blog post

  • @ginjiruu
    @ginjiruu 11 วันที่ผ่านมา +8

    can you do this with haproxy, and envoy added in.
    Since envoy is seemingly the standard for modern service meshes and haproxy is the old school approach to such a system.
    Would be nice to see how much performance we've lost over time

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +4

      yes i'll do envoy and haproxy soon

  • @ilike1sand0s68
    @ilike1sand0s68 7 วันที่ผ่านมา +1

    This is why I subbed! Amazing man, this is excellent work!
    Edit:
    Any chance you could do another series that is about DB's and their settings. Mysql has soo many tuning paramters and the community is very devided on what should be selected when. Im sure postgress and mongo have the same. So you could do both head to heads as well as tuning videos with proofs. Would be wicked!

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา

      Thank you! I tried using some open-source scripts, such as MySQLTuner-perl and pgtune for Postgres, to optimize my databases

    • @ilike1sand0s68
      @ilike1sand0s68 4 วันที่ผ่านมา

      @@AntonPutra You are a legend for responding! Looking forward to your future content!

  • @kejilion
    @kejilion 10 วันที่ผ่านมา +2

    我太喜欢这类视频 多款web服务器同时竞技 一定很精彩!👍👍👍

  • @dko1905
    @dko1905 10 วันที่ผ่านมา +1

    Hey, thanks for the video. As a Java dev, I've always wondered about the performing characteristics of Java web servers.
    - Apache Tomcat vs Eclipse Jetty vs Undertow

  • @MAK_007
    @MAK_007 11 วันที่ผ่านมา +2

    another graet video Anton ❤
    btw fireship mentioned you in one his latest video in his other channel named Beyond Fireship. video title - JavaScript performance is weird (1:42)

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      cool thanks!!

  • @luk318
    @luk318 11 วันที่ผ่านมา +3

    Awesome job. Traefik is a must for next test.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +2

      thanks! yeah, I'll do trafaek in a few days!

    • @luk318
      @luk318 11 วันที่ผ่านมา

      @@AntonPutra oh, I found out that you already did tested traefik with nginx or caddy (bgcfEW_Yh7E) year ago

  • @mitchellmnr
    @mitchellmnr 11 วันที่ผ่านมา +5

    Would love to see a traefik comparison here as well.
    Seems like go could be causing some fun here.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +3

      yes, i'll do nginx vs traefik in a few days

  • @ahmadrezadorkhah9574
    @ahmadrezadorkhah9574 11 วันที่ผ่านมา +6

    Comparing Nginx and Pingora can help determine whether migrating from Nginx to Pingora is worthwhile. Although Pingora is a framework, developing test requirements for it should not be difficult.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +5

      okay, i keep getting requests for Pingora, so i'll do it soon

  • @efaruk
    @efaruk 12 วันที่ผ่านมา +8

    Are gzip compression levels same for both? Hence it can make big difference...

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา

      level 3 for nginx and whenever caddy uses by default for gzip
      github.com/antonputra/tutorials/blob/main/lessons/221/nginx/nginx.conf#L96

  • @inithinx
    @inithinx 12 วันที่ผ่านมา +52

    Thanks :)
    It makes sense that C is much faster than go.

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +25

      but caddy is the most "advanced" based on the landing page 😊

    • @Nick-yd3rc
      @Nick-yd3rc 11 วันที่ผ่านมา +10

      I wouldn’t say it does, Caddy isn’t about performance but rather about smoother DX for the not too ops savvy devs.

    • @johnswanson217
      @johnswanson217 11 วันที่ผ่านมา +8

      @@Nick-yd3rcNginx config can't be more easier... If the dev can't configure basic reverse proxy in Nginx he shouldn't be a dev.

    • @Lexaire
      @Lexaire 11 วันที่ผ่านมา +7

      @@johnswanson217 There is weirdness around rewrite rules, location matching, aliasing, root folder / try_files. I've definitely spent too much time configuring nginx on occasion because of its confusing nature.

    • @Nick-yd3rc
      @Nick-yd3rc 11 วันที่ผ่านมา +3

      @@johnswanson217 I think that depends on how basic that config should be. Caddy is just a couple lines in your Compose file, and your team’s all set straight up to staging a PoC. I know people have been running Caddy in production, but I wouldn’t. I do only Nginx, HAProxy and AWS API Gateway in production. Some goodies are available only in Nginx Plus. Setting up Nginx the right way for production isn’t easy at all. But this depends on your requirements of course.

  • @roger-sei
    @roger-sei 11 วันที่ผ่านมา +2

    That’s what we’ve been waiting for 🤩

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +6

      I'll do nginx vs traefik in a few days

    • @roger-sei
      @roger-sei 11 วันที่ผ่านมา

      @@AntonPutrathx man. I appreciate very much the beauty of benchs you’ve doing ❤️

  • @lordanh6789
    @lordanh6789 9 วันที่ผ่านมา

    Thanks a lot for your video. It helps me a lot and now I'm confident on using Nginx :)

  • @supermamoru
    @supermamoru 12 วันที่ผ่านมา +19

    nice, Nginx would always be a good choice for reverse proxy

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +7

      yeah, it's used by at least 30% of all websites

  • @HVossi92
    @HVossi92 12 วันที่ผ่านมา +18

    Nice, thanks for the benchmarks :). We were just discussing whether we want to switch from nginx to caddy (due to the easier SSL management, but latency is more important to use).
    Still hoping for Sqlite vs Postgres :D

    • @devilmoldova543
      @devilmoldova543 12 วันที่ผ่านมา +7

      Banana to Apple for Sqlite to Postgres bro. it's all depends on what you want to do for this one.

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +8

      yes, i'll do sqlite soon, it's just a weird comparison, but i got a lot of requests to do it.

    • @lemonardot
      @lemonardot 12 วันที่ผ่านมา +6

      SQLite vs Postgres?? what! dude both are completely different! SQLite is file-based while Postgres is client-server! How can you compare both!

    • @HVossi92
      @HVossi92 11 วันที่ผ่านมา +4

      @@lemonardot Both are relational SQL databases, not what I would call "completely different!". Why would you not want to compare them, just because they follow different architectures? Both can be used on the same server as the backend, doing the exact same job (which happens very often, the same with MySql. I wouldn't compare them in the use case where the DB is running on its own server).
      It's like saying "you can't compare .Net to Node.js etc"

    • @denissorn
      @denissorn 11 วันที่ผ่านมา

      ​​@@lemonardotBoth SQLite and PostgreSQL are relational databases, so comparing them isn't totally off, especially for things like ERP or bookkeeping applications. Sure, SQLite is file-based and runs on the same machine, which can be a plus or minus depending on the setup, but both handle core database tasks like writes, updates, and selects.
      They definitely differ on things like permissions, client-server setup, advanced features Postgres provides, and latency, so you could argue pros and cons there. But for many use cases, SQLite’s simplicity is actually an advantage, and plenty of apps could use it without giving up anything essential.
      it’s surprising how many companies still pay for MS SQL or Oracle when SQLite would work fine and make things way simpler to deploy and maintain. Yeah, it doesn’t support things like stored procedures, but how critical are those really? When indeed required, one could often use Python or Bash scripts to achive the same goal.

  • @Ferrb9579
    @Ferrb9579 12 วันที่ผ่านมา +16

    NGINX vs Pingora?

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +8

      ok added to my list!

    • @TheOchita
      @TheOchita 11 วันที่ผ่านมา +1

      The new cloudflare baby vs grandpa 😂 would love to see this

    • @DavidSmith-ef4eh
      @DavidSmith-ef4eh 11 วันที่ผ่านมา

      that one is probably most interesting, since cloudflare actually uses it.

    • @marknefedov
      @marknefedov 11 วันที่ผ่านมา

      Isn’t pingora a framework rather than a complete web server?

    • @nextentrepreneur9288
      @nextentrepreneur9288 11 วันที่ผ่านมา

      River would be the equivalent. Pingora is just a library.

  • @PanicAtProduction
    @PanicAtProduction 11 วันที่ผ่านมา

    I came, listen methodology, appreciate how good video is, check results and like video. This is the way.

  • @MelroyvandenBerg
    @MelroyvandenBerg 11 วันที่ผ่านมา +3

    Thanks for mentioning me. :)

    • @MelroyvandenBerg
      @MelroyvandenBerg 11 วันที่ผ่านมา

      You could also try to increase threads in the thread pool, but since you only used two vCPUs I didn't increase it further. But feel free to play around with the settings and see if you get more out of it.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      thanks for the help! i tried 16 and 32, and the result was pretty much the same

    • @MelroyvandenBerg
      @MelroyvandenBerg 11 วันที่ผ่านมา

      @@AntonPutra I see, no problem! I think that make sense when we are bottle-necked by 2 vCPUs. I'm wondering how far we can stress-test Nginx actually. What about a m7a.16xlarge? And set the threads in Nginx to 64. And maybe fine-tune the kernel. Instead of starting small with 10, 100, 1000 requests per seconds, you can safe yourself time & money by starting from a higher through-put from the start, let's say starting with 10k request per second and increase heavily.

  • @attilamiszkuly5868
    @attilamiszkuly5868 11 วันที่ผ่านมา +1

    Thanks for the video!
    Do you have any video on the tests you do, and how they are implemented? If not it would be nice to have a video like that so that we can see how can we test such applications etc.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      i have a few. you can search for '"prometheus" on my channel, but i'm planning to refresh some of them soon.

  • @rutgerpronk2754
    @rutgerpronk2754 12 วันที่ผ่านมา +5

    What would perform better in as a reverse proxy for kubernetes nginx or treafik? Btw nice video as always!

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +6

      actually, in one of the next videos, i'll do nginx vs traefik. in the first test, i'll compare them as standalone proxies, and in the second test as ingress controllers

    • @rutgerpronk2754
      @rutgerpronk2754 11 วันที่ผ่านมา

      @AntonPutra haha wow that's amazing! I am surprised to hear that these tests cost that much.. Can I support you in any way? Your videos really help me learn more about these technologies in an enjoyable way

    • @DavidSmith-ef4eh
      @DavidSmith-ef4eh 11 วันที่ผ่านมา

      probably nginx, since traefik is written in go as well. And one could assume that nginx, since it existed forever, was optimised to the core. Basically, I doubt even the rust based proxies can beat it, let alone go based proxies.

  • @dataquery
    @dataquery 11 วันที่ผ่านมา +1

    You are perfect !!!!!
    thanks for comparison videos

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      my pleasure! 😊

  • @antonztxone
    @antonztxone 10 วันที่ผ่านมา

    Wow! Cool. Was more hope of caddy actually ( Thank you for your job and such a helpful information!

  • @duocdev
    @duocdev 11 วันที่ผ่านมา +5

    you are a legend

  • @haliszekeriyaozkok4851
    @haliszekeriyaozkok4851 11 วันที่ผ่านมา +1

    Very good video. I'd suggest you to compare nginx and openlitespeed.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      ok, openlitespeed.. will do in a few weeks!

  • @nemesisnap
    @nemesisnap 11 วันที่ผ่านมา +1

    Great video. Congrats!
    Can you elaborate on the testing software?(the soft used to create all the requests)
    Tks!

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      thanks you! sure i use open source prometheus + grafana to visualize metrics

    • @nemesisnap
      @nemesisnap 11 วันที่ผ่านมา

      @@AntonPutra I am not reffering to monitoring part ... but to the soft that is creating the requests.

  • @MostafaZeinali
    @MostafaZeinali 11 วันที่ผ่านมา +4

    Nginx is passing 25K requests to the apps behind it (12.5K each), Caddy is passing 4K requests to the apps behind it (2K each). That explains why the apps behind Nginx are higher on CPU usage. They are simply processing more requests (about 6 times more).

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +7

      At the end of the test, sure, but in both the Apache test and this one, when Nginx processes the same amount of requests at the beginning of the test, CPU load on the applications is much higher. The most likely explanation is this, but I'll test it in the next video - github.com/antonputra/tutorials/pull/334

    • @faysh88
      @faysh88 11 วันที่ผ่านมา +1

      At the end you mean. But the cpu usage was bigger at the begining of the test. So, It's something else going on behind the scene

    • @MostafaZeinali
      @MostafaZeinali 11 วันที่ผ่านมา

      @@faysh88 Oh yes I see what you mean. The end results are somewhat explainable. But they should match for the first half where Caddy was keeping up with Nginx in req/s

    • @djordje1999
      @djordje1999 11 วันที่ผ่านมา +2

      it depends of what is the connection between loadbalancer and worker.. HTTP 2 or 1.1?

    • @MelroyvandenBerg
      @MelroyvandenBerg 11 วันที่ผ่านมา

      You could also try HTTP/3

  • @davidsiewert8649
    @davidsiewert8649 12 วันที่ผ่านมา +34

    TLDR: Nginx about 2x faster than Caddy.
    I think its best to start with Caddy and switch to Nginx after 10k RPS.

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +4

      make sense

    • @spell105
      @spell105 11 วันที่ผ่านมา +14

      Or just start with Nginx, why even switch?

    • @davidsiewert8649
      @davidsiewert8649 11 วันที่ผ่านมา +18

      ​@@spell105 Because I already have done that and switched from Nginx to Caddy. Nginx is not worth it spending the time and configuring if the reverse proxy by itself is not a bottleneck. There are just to many configuration options to read, understand and configure even for the most simple things. Caddy does everything you want by default with much better and shorter documentation.

    • @RandomShowerThoughts
      @RandomShowerThoughts 11 วันที่ผ่านมา +7

      Why not just use nginx? It’s battle tested and proven

    • @davidsiewert8649
      @davidsiewert8649 11 วันที่ผ่านมา +4

      @@RandomShowerThoughts Use nginx if you have prior knowledge. Caddy is stable as well just less well known.

  • @indrasusila00
    @indrasusila00 8 วันที่ผ่านมา +1

    Thanks a lot. I hope you also present java(spring) vs c#(.net core). It will be cool and hype

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา +1

      thank you! I have it on my list, but I'll move it to the top

  • @svetlinzarev3453
    @svetlinzarev3453 11 วันที่ผ่านมา +1

    Here is an idea for a very insteresting, though a bit difficult to set-up test: compareGC pauses & throughput on ZGC vs G1GC vs Shenandoa on a recent Java version

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      ok, interesting. i may do it in the future if i get more requests like this; it's very niche

  • @Lofranlof
    @Lofranlof 11 วันที่ผ่านมา +1

    I really like your videos! Can you please compare nginx and haproxy?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      yes i'll do it in a few days

  • @pier_x0
    @pier_x0 11 วันที่ผ่านมา +1

    Hi Anton, a couple of.questions related to the cert?
    @2:05 you mention you've created a self signed cert authority
    where did you create the CA?
    what did you use for creating the CA?
    I think the 2 certs on the servers, Nginx and Caddy, are TLS certs to allow the clients to verify that the servers are who they say they are.
    Why do you deploy a cert in che K8s Clients? is it for MTLS?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      i've been using cfssl for pki last couple of years.
      1. Generate CA
      2. Generate 2 certs for each server using that CA
      3. Use CA directly in the client to verify proxies cets since they were issued by self sign CA
      In the github in the client you can actually see the CA itself with private key, which actually you don't need in the client it just to create tls 'kind' secret in k8s you required to provide a key as well.
      I don't use mTLS in this case.
      CA + key - github.com/antonputra/tutorials/blob/main/lessons/221/tests/1-test/1-tls.yaml#L9-L10

  • @m83555
    @m83555 7 วันที่ผ่านมา +1

    Nice benchmark. I'd really like to see nginx vs traefik

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา +1

      thanks! coming soon, maybe in a week

    • @m83555
      @m83555 7 วันที่ผ่านมา

      @@AntonPutra Nice! ♥️

  • @siraz6899
    @siraz6899 10 วันที่ผ่านมา

    Gold content, as always

  • @luca4479
    @luca4479 11 วันที่ผ่านมา +3

    Perhaps nginx compresses the files which the nodes then need to decompress leading to higher cpu usage?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      this is most likely the issue (absence of keep alive on upstream) - github.com/antonputra/tutorials/pull/334

  • @Mr8perezm
    @Mr8perezm 11 วันที่ผ่านมา +1

    Hi Anton, Can you do a time series performance test next, please. Timescale vs Influxdb and any other good databases. May include the size of the data folder on disk at the end of the test.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      yes, it’s actually maybe interesting! i'll put it at the top of my list!

  • @sahilchourasiya6661
    @sahilchourasiya6661 11 วันที่ผ่านมา +2

    I think HAProxy would be a good candidate for next benchmark

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      yes, i'll do it in a few days, standalone as well as with an ingress controller

  • @Ilja903
    @Ilja903 10 วันที่ผ่านมา

    Nice, please MariaDB vs MySQL (or vs Postgres). Best channel!

  • @mohit84604
    @mohit84604 12 วันที่ผ่านมา +6

    what about NGinx vs Pingora

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา

      added to my list

  • @KastanDay
    @KastanDay 7 วันที่ผ่านมา +1

    does non-identical gzip compression explain the difference in results?? if caddy is doing more compression, that explains the higher cpu utilization.

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา +1

      yes, Nginx uses level 3 and Caddy level 5 by default. I'll keep collecting feedback and release an updated benchmark

  • @adeniyi_stephen
    @adeniyi_stephen 11 วันที่ผ่านมา +1

    Hi @AntonPutra, I love the video, please can we get a tutorial on how you developed your great Grafana dashboard to monitor your webservers, and client app, but this time if the Nginx is on Kubernetes (EKS, AKS, GKE). Thanks. Love the Dashboard.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      Thank you! I'll do that in the future. This time, I deployed Nginx and Caddy on their own EC2 instances (m7a.large).

    • @adeniyi_stephen
      @adeniyi_stephen 11 วันที่ผ่านมา

      @@AntonPutra Thanks.

  • @JT-mr3db
    @JT-mr3db 9 วันที่ผ่านมา

    The low config Caddy set up is pretty great tbh. If you’re hitting limits with Caddy then that’s a pretty great problem to have.

  • @jediampm
    @jediampm 12 วันที่ผ่านมา +3

    Hi, thanks for the video. the data result is somehow a shock for me.
    Even i think you should update nginx vs apahce with new change and new version of ngnix.
    Although you show Apache as reverse proxy is better than ngnix. 🤣
    Next video i would say Apache vs Caddy. since the king is still ngnix, just to close with 3 well known servers tests.
    About which server is best for beginners, for it is not caddy. It is and always be, Apache, because with no config by default is setup to serve static files and even more easy when using PHP, since you dont need to setup as reverse proxy like ngnix or caddy with fpm.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      thanks for your feedback. with each new benchmark, i accumulate more insights and improvements from experts in the field, so i'll definitely refresh the benchmarks when i get enough improvement. i say caddy is easier for beginners mostly due to its built-in ssl/tls resolvers; with nginx and apache, you need an extra step.

    • @jediampm
      @jediampm 11 วันที่ผ่านมา

      @@AntonPutra HI, about tls / ssl on apache , last time i config and remember on VPS, only need to indicate the path of crt and private key file and activate ssl mode.
      And you also said for small projects you also recommended caddy, which i dont agree, for several reasons, on majority of sharehost, they give you apache not caddy, where you dont need to worry about config files or even ssl.
      Apache on VPS, less config files and defaults are enough even with htacess file, for small changes, without mess up main config file. Apache on Docker container is even more simple, just indicate document root and with PHP no need extra container.
      To switch for caddy only if i am using ngnix and it is faster than ngnix, which you show ngnix > caddy. For small projects and low traffic apache is enough, no need to complicate things with caddy or ngnix. keep it simple. ☺

  • @MrBoBrilO
    @MrBoBrilO 11 วันที่ผ่านมา

    Hi, great video! I wanted to ask if you can recommend programs/services to generate load outside of eks/kube ecosystem, for smaller apps. Also, are You using prometheus to gather all this data to visualize in Grafana or something else? Thanks in advance 🙏

  • @TheofilosMouratidis
    @TheofilosMouratidis 11 วันที่ผ่านมา +1

    Awesome test, whenever you can, can you please test nginx, traefic and haproxy for reverse proxy?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      yes, i'll do Traefik in a few days

  • @MightyMoud
    @MightyMoud 10 วันที่ผ่านมา

    Could you please compare Caddy with Traefik? They are the trending new options nowadays

  • @xuruiyan9280
    @xuruiyan9280 11 วันที่ผ่านมา +1

    Thanks for doing the benchmark. Can I use Nginx in Windows server and achieve great performance as it has in Linux? More importantly, can we use Nginx in production for free?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      for sure, you can use it for free, but i'm not an expert in windows, but most likely you can 😊

  • @harshamesta
    @harshamesta 12 วันที่ผ่านมา +2

    Thank you. Awesome 👍

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +1

      my pleasure, i'll do more tests like these with open-source web servers

  • @AntonPutra
    @AntonPutra  11 วันที่ผ่านมา +7

    PR by Mohammed to improve Caddy - github.com/antonputra/tutorials/pull/336

  • @mustafayazlmc3973
    @mustafayazlmc3973 11 วันที่ผ่านมา +2

    Can you compare between Json Vs Sql

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      you mean like document database vs relational? yeah, i'll do postgres vs mongo soon

  • @SpiritVoodoo
    @SpiritVoodoo 11 วันที่ผ่านมา +1

    Can you test please comparing with spring cloud gateway(webflux based version, I can help with configuration if needed) and maybe traefik.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      ok interesting will do at some point

  • @Godslar
    @Godslar 9 วันที่ผ่านมา

    Are there any more golang/rust specific videos coming?

  • @Robin-uh7zz
    @Robin-uh7zz 11 วันที่ผ่านมา +1

    Can you please test HAProxy, Nginx and Traefik?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      yes i'll do haproxy soon

  • @abdelrahmandwedar
    @abdelrahmandwedar 11 วันที่ผ่านมา +2

    Can you also check treafik?
    Maybe a apache2, nginx, caddy, treafik 😮😮

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      yes, i'll do Traefik in a few days, i did Apache2 about a week ago

  • @scott8587
    @scott8587 11 วันที่ผ่านมา +2

    mantab bro

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      thanks! 😊

  • @Cyanide0112
    @Cyanide0112 12 วันที่ผ่านมา +1

    NGINX vs Traefik?
    NGINX seems very useful for both webserver and proxy.. But traefik is a lot easier to use as proxy/ingest.. I think it will result in the same thing as Caddy but im curious, have you done this one before?

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +1

      i have, but i'll make another one soon, comparing standalone reverse proxies as well as ingress controllers

  • @dvhh
    @dvhh 11 วันที่ผ่านมา

    About the app behing nginx experiencing higher cpu usage, one factor could be with how nginx handle keep alive connection with the application, I think by default it keeps the session alive for a 1000 requests by default then recycle the connection.

  • @nullify.
    @nullify. 11 วันที่ผ่านมา +1

    I'd be interested in seeing Nginx vs HAproxy as HAP is a competing proxy to Nginx

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +2

      yes i'll do haproxy in a few days

  • @-xeL
    @-xeL 12 วันที่ผ่านมา +1

    @11:44 @AntonPutra maybe strong compression/decompression induced by nginx to the apps behind it?

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +1

      unlikely, the payload size is only ~75 bytes, and nginx does not apply compression on such small sizes. but i'll double-check before the next benchmark with traefik. also, compression is performed on the nginx side, so nginx CPU usage would go up, not the applications behind it.

  • @apoorv770
    @apoorv770 11 วันที่ผ่านมา

    @AntonPutra since in the reverse proxy test Nginx has mich higher throughput the application VMs behind it are processing much more number of requests than the application VMs behind Caddy.
    I guess this might be the explanation behind the unusually high CPU usage.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      no, i was referring to it at the same level of RPS. looks like the issue is with the upstream keep-alive setting - github.com/antonputra/tutorials/pull/334

  • @ilya_mzp
    @ilya_mzp 12 วันที่ผ่านมา +1

    Nginx might be sending more request headers to the proxied app, which would explain higher CPU usage

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา

      unlikely, but I'll test and see if it's true for the next nginx vs traefik comparison

  • @jghjvhhgj1912
    @jghjvhhgj1912 11 วันที่ผ่านมา +2

    Please Nginx vs openlitespeed

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      ok, interesting suggestion

    • @jghjvhhgj1912
      @jghjvhhgj1912 11 วันที่ผ่านมา

      @AntonPutra thanks 😊

  • @frankhuurman3955
    @frankhuurman3955 11 วันที่ผ่านมา +1

    I use Caddy for about everything when I need a simple reverse proxy, just wish they could optimize it further.
    If only Nginx would have the ease of configuration like Caddy it would be perfect.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      makes sense. if someone could help optimize caddy, i'd gladly refresh this benchmark!

  • @thunderal
    @thunderal 11 วันที่ผ่านมา +2

    nginx vs traefik. both as ingress controller (!) with default config and hpa max 3

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      yes, i'll do it in a few days, standalone proxies as well as ingress controllers with default settings

  • @asm-0011
    @asm-0011 3 วันที่ผ่านมา

    please do nginx vs openlitespeed as well.

  • @ericsnguyen4649
    @ericsnguyen4649 11 วันที่ผ่านมา +1

    well, use caddy for early development and move back to nginx when mature

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      makes sense

  • @djordje1999
    @djordje1999 11 วันที่ผ่านมา +2

    HaProxy please

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      ok i'll do haproxy in a few days

  • @SurbanoskiAleksandar
    @SurbanoskiAleksandar 10 วันที่ผ่านมา

    Can you also compare it with Litespeed?

  • @matyi1997en
    @matyi1997en 11 วันที่ผ่านมา +1

    Hey! Could you do one with spring virtual threads vs no virtual threads vs node.js?

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      yes i can, i'll do more Java soon!

    • @matyi1997en
      @matyi1997en 11 วันที่ผ่านมา

      @@AntonPutra great, thanks! looking forward to it!

  • @hermysdorfff
    @hermysdorfff 8 วันที่ผ่านมา +1

    Consider Lua vs Nim vs Other major language

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา +1

      ok, i'll consider!

  • @bot1511
    @bot1511 12 วันที่ผ่านมา +2

    Maybe nginx vs AWS ALB someday?😅

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา +1

      actually, i might test it.. nginx ingress controller vs aws load balancer controller based on application lb. both layer 7 load balancers, will see

    • @bot1511
      @bot1511 11 วันที่ผ่านมา

      @@AntonPutra Thank you very much. I am very curious how many/much GET requests can ALB handle. AWS said that millions/unlimited per second, but i do not believe marketing phrases.

  • @xppaicyber3823
    @xppaicyber3823 11 วันที่ผ่านมา +1

    Thanks

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      my pleasure!

  • @snatvb
    @snatvb 10 วันที่ผ่านมา

    I thought that u will add traefik also, exists colify that migrate from caddy to traefik, maybe there is performance is main reason 🤔

  • @nikolaywaysman6576
    @nikolaywaysman6576 10 วันที่ผ่านมา

    What program you use to vizualize the results?

  • @konga8165
    @konga8165 11 วันที่ผ่านมา +1

    Do envoy next!

  • @gabriellasso8808
    @gabriellasso8808 7 วันที่ผ่านมา

    Could you test HAProxy?

  • @ooogabooga5111
    @ooogabooga5111 12 วันที่ผ่านมา +9

    Lol so much for people who were hyping caddy

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +3

      i hope someone can optimize caddy, and i'll be glad to refresh this benchmark! But i think Caddy mostly great for beginners

    • @arkeynserhayn8370
      @arkeynserhayn8370 11 วันที่ผ่านมา +4

      ​@@AntonPutra
      At the end of the day, caddy is written in Go, there is an upper threshold for how well it can compete with the state-of-the-art C code.

    • @roger-sei
      @roger-sei 11 วันที่ผ่านมา +2

      The best of Caddy is their website and promises. What they deliver is different. For example, SSL certificates is not automated, but a not implemented feature. So, still better to stay with well known and stable nginx than with hypped new techs

  • @haimid5797
    @haimid5797 11 วันที่ผ่านมา +1

    Anton Putra, sound like Indonesian name :D

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      yeah i get it a lot :)

  • @indramal
    @indramal 9 วันที่ผ่านมา

    Please please OpenLiteSpeed vs Nginx

  • @PragmaticPragmatist
    @PragmaticPragmatist 10 วันที่ผ่านมา

    What about traefik vs nginx?

  • @quokka8687
    @quokka8687 11 วันที่ผ่านมา +4

    Great Video :)
    A comparison between nginx and openlitespeed would be quiet interesting.

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      ok noted!

  • @GerrardRamis
    @GerrardRamis 10 วันที่ผ่านมา +1

    I don't know why, but when I watch it, it feels like I'm playing DOOM.

  • @saadhabashneh5587
    @saadhabashneh5587 11 วันที่ผ่านมา +1

    FastAPI vs Expressjs 🙏

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      ok will do soon!

  • @Takatou__Yogiri
    @Takatou__Yogiri 9 วันที่ผ่านมา +1

    still waiting for mongodb vs postgresql

    • @AntonPutra
      @AntonPutra  7 วันที่ผ่านมา

      Yes, I remember. I may do a poll for it as soon as I release the next video

  • @sunhsiang6644
    @sunhsiang6644 3 วันที่ผ่านมา

    Nginx vs Pingora,pls 🙏

  • @nexovec
    @nexovec 11 วันที่ผ่านมา +1

    Caddy all the way!!!

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      just got a PR with caddy improvement - github.com/antonputra/tutorials/pull/336

  • @opensourcedev22
    @opensourcedev22 11 วันที่ผ่านมา +3

    Caddy has a big following in self hosting space. Many users running services from home don't have needs beyond what Caddy provides, and users don't need to become configuration experts. Nginx always was and probably will remain the recommended pro tool

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา

      agree!

    • @bobby-na
      @bobby-na 11 วันที่ผ่านมา +1

      With something like Nginx Proxy Manager, the need for being an expert is also not there.

  • @animeverse5912
    @animeverse5912 11 วันที่ผ่านมา +1

    Bro please test pingora next

    • @AntonPutra
      @AntonPutra  11 วันที่ผ่านมา +1

      ok, thanks! i'll include it in the next poll

  • @GreenMerlin
    @GreenMerlin 10 วันที่ผ่านมา

    nginx vs traefik and vs litespeed plz :D

  • @schabo102
    @schabo102 11 วันที่ผ่านมา

    Do Pingora vs Nginx

  • @SR-ti6jj
    @SR-ti6jj 12 วันที่ผ่านมา +3

    The perfGOAT returns

  • @Blink__5
    @Blink__5 12 วันที่ผ่านมา +1

    nice

    • @AntonPutra
      @AntonPutra  12 วันที่ผ่านมา

      thanks!