Pingora vs Nginx Performance Benchmark: My NEW Favorite Proxy! ❤️

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024
  • НаукаНаука

Комментарии • 86

  • @AntonPutra
    @AntonPutra  День назад +8

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

    • @yurai1705
      @yurai1705 День назад +1

      Would like to request HAproxy with nginx

    • @linkersh
      @linkersh День назад +1

      Did you use a release build with pingora? Aka `cargo build --release`

  • @funkdefied1
    @funkdefied1 День назад +54

    Thanks for these benchmarks. Now I know what framework to use for my BLAZINGLY FAST, high-performance web app (it’s a CRUD app with 10 users)

  • @AntonPutra
    @AntonPutra  День назад +48

    ⚠If you can improve Nginx or Pingora, please send me a PR, and I'll rerun the test! ⚠

    • @gizlas
      @gizlas День назад +2

      With the mention of disabling the logs to create a fair comparison, why don't you compare nginx with and without logging?

    • @OldKing11100
      @OldKing11100 22 часа назад

      @@gizlas I think each test cycle costs $50 bucks?

  • @elliotwaite
    @elliotwaite День назад +7

    Thank you for making this benchmark video. I had been wondering how these would compare.

  • @krissukoco9294
    @krissukoco9294 13 часов назад +1

    Great video as usual!
    would be a bit different from performance benchmark. but I'd really love the comparison between serverless (e.g. AWS Lambda or Fargate) vs serverfull (e.g. EC2) in terms of performance, latency, and ultimately cost. I think when it comes to hundreds or even thousands of RPS, it makes sense to compare between these two.

  • @MelroyvandenBerg
    @MelroyvandenBerg День назад +8

    Thanks! To be fair nobody (even me as a programmer) are suddenly switching a reverse proxy like Nignx and built their own using Pingora. What about dealing with specific location/paths? What about implementing rate limiting? What about static content? If you use a reverse proxy like Nginx across multiple domains and projects, you don't gonna implement a reverse proxy from the ground up. These are just two fully different ways. Mostlikely most engineers already need to spend a lot of time on the programming on the applications itself, Pingora would be a project on it own.

    • @AntonPutra
      @AntonPutra  День назад +4

      agree, if you are at the scale of cloudflare then it makes sense, otherwise just use k8s + ingress when needed

    • @MelroyvandenBerg
      @MelroyvandenBerg День назад +1

      @@AntonPutra So Ingress could be Nginx, HAProxy, Traefik and more.. But even k8s for a homelab is for some people already next level. Some just have bare metal or a simple Proxmox VM with Nginx..

    • @stxnw
      @stxnw День назад +2

      @@MelroyvandenBerglol you shouldn’t be on this channel if you are only building a homelab

    • @MelroyvandenBerg
      @MelroyvandenBerg День назад

      @@stxnw I'm not "just" building a homelab. First of all I work for a big enterprise. And second of all, I basically run a datacenter at home within server racks.

  • @martinhotmann7868
    @martinhotmann7868 День назад +4

    Nice!!! :)
    I was waiting for this one, thanks ^^

  • @UliTroyo
    @UliTroyo День назад +5

    Great video! I'd be curious to see how h2o compares to Nginx; their benchmarks show them beating Nginx, and it ranks highly on the Techempower framework benchmarks.

    • @rafaelfess
      @rafaelfess 20 часов назад

      I would like to see h2o's benchmark too!

  • @azulamazigh2789
    @azulamazigh2789 День назад +21

    can you do HAproxy vs Nginx ?

    • @vuongphaminh2293
      @vuongphaminh2293 День назад +4

      we've asked repeatedly but... he didn't do it

    • @azulamazigh2789
      @azulamazigh2789 День назад

      @@vuongphaminh2293 we need HAproxy since it's used more than Pingora and HAproxy is a direct competitor of Nginx as reverse proxy

    • @OldKing11100
      @OldKing11100 День назад

      @@vuongphaminh2293 He'll get to it eventually. It has its own configuration learning curve since it has more features than NGINX. Plus running the test for hours on end.

    • @OldKing11100
      @OldKing11100 День назад +3

      I'm interested in this also since those two are C based.

  • @hanyatraveller
    @hanyatraveller День назад +5

    Please @AntonPutra, benchmarks Swift hummingBird/vapor vs golang or etc.

  • @romanstingler435
    @romanstingler435 День назад +4

    Thank you Anton

  • @guoard
    @guoard День назад +2

    Thank you that wass perfect as always.

  • @swoopertr
    @swoopertr 9 часов назад

    Keep up the good work. Respect 😊

  • @thrasosthrasos7353
    @thrasosthrasos7353 День назад +2

    It would be interesting to see results when HTTP is used instead of HTTPS, because HTTPS could take significant percent of CPU. With HTTP differences will be probably more emphasized.

  • @TarasShabatin
    @TarasShabatin День назад +7

    0:30 I can see from blurred images that Nginx is green 😅

    • @twitchizle
      @twitchizle День назад +6

      Congrats, now watch it until end

  • @KeihanAsgari
    @KeihanAsgari День назад +1

    nice job 👍
    nginx vs envoy please

  • @mjerez6029
    @mjerez6029 День назад +1

    This is interesting, in terms of absolute numbers 40k request per second doesn't seem much. Are proxies more resource intensive than regular servers ?

  • @snatvb
    @snatvb День назад +1

    wow, nice thing, never heard about pingora

  • @andreybiryulin7207
    @andreybiryulin7207 День назад +4

    please create SQL vs NOSQL comparison! e.g. Postgres vs Mongo

  • @howaboutno-p8l
    @howaboutno-p8l День назад +5

    Раст - сила, JS - могила

  • @magoya6178
    @magoya6178 22 часа назад

    awesome! this one is really useful info!

  • @yaninyz_witt-mwa3687
    @yaninyz_witt-mwa3687 День назад +5

    Test haproxy , nginx and pingora

  • @yannick5099
    @yannick5099 День назад +7

    Very interesting. Never heard of Pingora before, but being programmable is certainly an advantage. Instead of waiting for the supplier to add that feature to their custom config DSL you just add it yourself. Looks very robust and reliable.

    • @j-p-d-e-v
      @j-p-d-e-v День назад +1

      its nice but the documentation of it sucks.

  • @BR-lx7py
    @BR-lx7py День назад

    Took a peak at the sources; how do you build aputra/load-tester ?

    • @AntonPutra
      @AntonPutra  День назад +1

      it's a rust client instrumented with prometheus metrics, i have similar clients in my repo

    • @BR-lx7py
      @BR-lx7py День назад

      @@AntonPutra Are the sources public for it? I looked in the repo but couldn't find.

  • @mubashirjamali
    @mubashirjamali День назад

    good work

  • @samarbid13
    @samarbid13 День назад +5

    🐍 uWSGI VS Gunicorn

    • @OldKing11100
      @OldKing11100 День назад

      Python is slow and a pain to setup in general for webservers. Last time I was working with FastAPI Gunicorn using Uvicorn (asgi) workers was vastly faster than uWSGI. Don't use uWSGI if you can do Async/Await.

  • @chu121su12
    @chu121su12 День назад +1

    i'd hoped the test would continue until the breaking point of pingora to see its overloaded behavior. iirc nginx is more preferable due to connection blocking when overloaded

    • @AntonPutra
      @AntonPutra  День назад

      It did reach a breaking point at around 47k RPS

  • @georgynedyalkov
    @georgynedyalkov День назад

    Hello Anton,
    Can you make a video comparing NGINX with OPENLiteSpeed?
    Thank you in advance.

  • @hubstrangers3450
    @hubstrangers3450 День назад

    Thank you.....

  • @nxte8506
    @nxte8506 18 часов назад

    Why does nginx request per second plateau then nosedive around 60% cpu utilisation? I would expect it to scale like pingora.

  • @srigi-dev
    @srigi-dev День назад +12

    Please don't use that black backdrop. I have my brain working and can follow you as you speak. At the same time I want to observe other values that you are currently speaking about. You made it very hard in this video!

  • @zacksalah5879
    @zacksalah5879 День назад +1

    can we do Actix with actors (default) vs Actix with websocket

  • @RagnorZ
    @RagnorZ 11 часов назад

    HAProxy vs Pingora next?

  • @fabiopetrillo
    @fabiopetrillo День назад +1

    Rust is top!

  • @ahmadrezadorkhah9574
    @ahmadrezadorkhah9574 День назад

    Thank you, this benchmark comparison between Pingora and Nginx was incredibly insightful. I appreciate the detailed analysis and the effort you put into making this video.

  • @TariqSajid
    @TariqSajid День назад +4

    finally a worthy opponent for nginx

    • @daniel13021
      @daniel13021 День назад +2

      Not really. Nginx is still much more advanced

    • @RustIsWinning
      @RustIsWinning 18 часов назад

      It is so over for nginx 😂

  • @che0one
    @che0one День назад

    Proxies are so complicated, to swap another due latency, especially on complicated systems with load balancers etc...

    • @AntonPutra
      @AntonPutra  День назад

      true, most companies don't need 'another' proxy. it only makes sense for those that have business around it

  • @matthieu8033
    @matthieu8033 День назад +3

    Keep in mind that higher CPU usage sometimes mean that it has a better resources usage

    • @twitchizle
      @twitchizle День назад

      What, no. This aint game FPS benchmark

    • @AntonPutra
      @AntonPutra  День назад +1

      true

    • @matthieu8033
      @matthieu8033 День назад

      @twitchizle CPU usage is based on the average core usage. If your app can only use one core but two ar available, your app will have a bottleneck with only 50% CPU usage.

    • @s.i.m.c.a
      @s.i.m.c.a День назад

      Bs, you confusing CPU utilization with CPU usage. And in current test , rust based proxy is less effective both by cpu usage and per watt effectiveness

  • @bcassol
    @bcassol День назад +6

    So nginx is almost as fast while having a thousand times more plugins, features, community, business support and LLM training.
    Pingora would have to be 10x more performant to be worth considering. Like some Specialized C/C++ servers.

    • @qizott6442
      @qizott6442 День назад +4

      Pingora is a framework, you can do tons of stuff with it and load balancer was only one usecase. Nginx is nothing more than just a reverse proxy and creating new plugins for it is not that easy.

    • @KingStructre
      @KingStructre День назад +1

      I agree with you that for 99% of the cases it is true, but if somebody have the time and money to get something more performant than why not

    • @isaacdruin
      @isaacdruin День назад

      Agree. Nginx does the job and does it well while having a much larger community for support.
      If you need more performance, you can scale it up. If you're running an application that needs this kind of throughput, you can definitely allocate more resources to your proxy.

    • @DavidSmith-ef4eh
      @DavidSmith-ef4eh День назад +1

      not only that, you'd have to learn rust and learn the pingora api to make it work. It would take you like 5 years to write the perfect pingora proxy config :D

    • @hidayathidayat4469
      @hidayathidayat4469 День назад

      ​@@isaacdruin
      scale up cost money

  • @aryindra2931
    @aryindra2931 День назад +1

    Try to make python again but using socketify it is much faster compared to go fiber, gin, gorilla and others, socketify is a python framework that uses c++

  • @YasasLowe
    @YasasLowe День назад

    Pls do C# .NET 8 vs Node.js

  • @fraollemecha
    @fraollemecha День назад

    wow pingora is way too powerful

  • @imdaboythatwheheryeah
    @imdaboythatwheheryeah День назад +1

    It’s not pronounced thouthand, it’s thousand

  • @Vilayat_Khan
    @Vilayat_Khan День назад

    Ok, my conclusion: nginx started using more cpu, was slower (latency) at the end , so on high workload -pingora works better.