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

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ม.ค. 2025

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

  • @AntonPutra
    @AntonPutra  2 หลายเดือนก่อน +13

    🔴 To support my channel, I'd like to offer Mentorship/On-the-Job Support/Consulting (me@antonputra.com)

    • @yurai1705
      @yurai1705 2 หลายเดือนก่อน +1

      Would like to request HAproxy with nginx

    • @linkersh
      @linkersh 2 หลายเดือนก่อน +1

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

    • @luiscarlosjayk
      @luiscarlosjayk 2 หลายเดือนก่อน

      Please test Pingora against Oxy, both are from Cloudflare, both in Rust

    • @sumitdhameja
      @sumitdhameja 2 หลายเดือนก่อน

      nginx ingress controller vs istio

  • @funkdefied1
    @funkdefied1 2 หลายเดือนก่อน +124

    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)

    • @reze_dev
      @reze_dev 2 หลายเดือนก่อน +9

      No it's 0 user

    • @affanyunas7693
      @affanyunas7693 2 หลายเดือนก่อน +2

    • @Somens8Dworld
      @Somens8Dworld 2 หลายเดือนก่อน +4

      it's a todo app

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

      i got 10 devs in my team and about 3-5 daily users :D

  • @AntonPutra
    @AntonPutra  2 หลายเดือนก่อน +61

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

    • @gizlas
      @gizlas 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน +1

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

  • @elliotwaite
    @elliotwaite 2 หลายเดือนก่อน +7

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

  • @MelroyvandenBerg
    @MelroyvandenBerg 2 หลายเดือนก่อน +19

    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  2 หลายเดือนก่อน +5

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

    • @MelroyvandenBerg
      @MelroyvandenBerg 2 หลายเดือนก่อน +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 หลายเดือนก่อน +3

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

    • @MelroyvandenBerg
      @MelroyvandenBerg 2 หลายเดือนก่อน +2

      @@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.

    • @LtdJorge
      @LtdJorge 2 หลายเดือนก่อน

      @@MelroyvandenBergSame but just the last part, lmao

  • @martinhotmann7868
    @martinhotmann7868 2 หลายเดือนก่อน +4

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

  • @krissukoco9294
    @krissukoco9294 2 หลายเดือนก่อน +6

    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.

    • @rediettadesse5488
      @rediettadesse5488 2 หลายเดือนก่อน

      Would really love to see this as well

  • @ivan.maulana
    @ivan.maulana 8 วันที่ผ่านมา

    I love the way how you explains things in your video! Very easy for to understand.
    Your name kind a Indonesian name :)

  • @UliTroyo
    @UliTroyo 2 หลายเดือนก่อน +6

    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 2 หลายเดือนก่อน +1

      I would like to see h2o's benchmark too!

  • @MiChAeLoKGB
    @MiChAeLoKGB 2 หลายเดือนก่อน

    Small tip for Graphs, set Tooltip mode to "All" and Values sort order to "Descending".
    That way you can very easily see values of all lines on the graph when you hover over it. Making it way easier to see the actual differences.
    Edit: I see you did that with Network traffic, but it would be nice to have on all graphs.

  • @azulamazigh2789
    @azulamazigh2789 2 หลายเดือนก่อน +32

    can you do HAproxy vs Nginx ?

    • @vuongphaminh2293
      @vuongphaminh2293 2 หลายเดือนก่อน +4

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

    • @azulamazigh2789
      @azulamazigh2789 2 หลายเดือนก่อน

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

    • @OldKing11100
      @OldKing11100 2 หลายเดือนก่อน

      @@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 2 หลายเดือนก่อน +3

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

    • @faisalhussain342
      @faisalhussain342 หลายเดือนก่อน

      HAproxy is faster in every metric. No comparison.

  • @hanyatraveller
    @hanyatraveller 2 หลายเดือนก่อน +7

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +2

      ok :)

  • @yannick5099
    @yannick5099 2 หลายเดือนก่อน +10

    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 2 หลายเดือนก่อน +1

      its nice but the documentation of it sucks.

    • @laundmo
      @laundmo 2 หลายเดือนก่อน

      ​@@j-p-d-e-vyeah its mainly used by cloudflare, the maintainers. i wish they'd document more but i can imagine that will slowly improve since it was only open sourced not too long ago

  • @guoard
    @guoard 2 หลายเดือนก่อน +2

    Thank you that wass perfect as always.

  • @romanstingler435
    @romanstingler435 2 หลายเดือนก่อน +4

    Thank you Anton

  • @pizzanachos2323
    @pizzanachos2323 2 หลายเดือนก่อน

    This is wonderful! I think it would be cool to benchmark nginx versus river (which is a new proxy the isrg is building to be a feature complete off the shelf proxy to replace nginx) I think it's in beta but river is based on pingora and would be a suitable alternative for someone who's wanting a prre-built binary

  • @mjerez6029
    @mjerez6029 2 หลายเดือนก่อน +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 ?

  • @LuisdelAmo
    @LuisdelAmo 2 หลายเดือนก่อน +1

    What I miss here, the way of build the proxy is really imperative you really need to program, It will be nice a framework base on Pingora which you just provide a yml or json file with the configuration and Pingora just do the Magic. Really nice benchmarks. Thank you.

    • @AntonPutra
      @AntonPutra  หลายเดือนก่อน

      thanks! yes, using pingora is a project on its own

  • @andreybiryulin7207
    @andreybiryulin7207 2 หลายเดือนก่อน +5

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

    • @Mr.BinarySniper
      @Mr.BinarySniper 2 หลายเดือนก่อน

      would be great comperision.

  • @swoopertr
    @swoopertr 2 หลายเดือนก่อน

    Keep up the good work. Respect 😊

  • @yaninyz_witt-mwa3687
    @yaninyz_witt-mwa3687 2 หลายเดือนก่อน +5

    Test haproxy , nginx and pingora

  • @KeihanAsgari
    @KeihanAsgari 2 หลายเดือนก่อน +2

    nice job 👍
    nginx vs envoy please

  • @TarasShabatin
    @TarasShabatin 2 หลายเดือนก่อน +10

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

    • @twitchizle
      @twitchizle 2 หลายเดือนก่อน +7

      Congrats, now watch it until end

  • @RiyadFebrian
    @RiyadFebrian 2 หลายเดือนก่อน

    Hey, have you heard River ?
    a Reverse Proxy build on top of Pingora. Please compare with nginx.

  • @essamal-mansouri2689
    @essamal-mansouri2689 หลายเดือนก่อน +1

    Webflux vs. Virtual Threads next?

    • @AntonPutra
      @AntonPutra  หลายเดือนก่อน +1

      ok soon

  • @magoya6178
    @magoya6178 2 หลายเดือนก่อน

    awesome! this one is really useful info!

  • @ahmadrezadorkhah9574
    @ahmadrezadorkhah9574 2 หลายเดือนก่อน

    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.

  • @nxte8506
    @nxte8506 2 หลายเดือนก่อน

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

  • @chu121su12
    @chu121su12 2 หลายเดือนก่อน +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  2 หลายเดือนก่อน

      It did reach a breaking point at around 47k RPS

  • @ainxgans
    @ainxgans หลายเดือนก่อน

    terima kasih anton

  • @RagnorZ
    @RagnorZ 2 หลายเดือนก่อน

    HAProxy vs Pingora next?

  • @egor.okhterov
    @egor.okhterov 2 หลายเดือนก่อน

    Standard, tried and proven things always beat new and shiny :)
    The only exception is when there's 10x improvement.

  • @snatvb
    @snatvb 2 หลายเดือนก่อน +1

    wow, nice thing, never heard about pingora

    • @laundmo
      @laundmo 2 หลายเดือนก่อน

      its main claim to fame is that basically all of cloudflare runs on it, they're the ones who made it. it was only open sourced recently so its alsp pretty new.

  • @yanchenchen4467
    @yanchenchen4467 2 หลายเดือนก่อน

    Prometheus vs InfluxDB, performace, memory usage, disk usage🥰

  • @zacksalah5879
    @zacksalah5879 2 หลายเดือนก่อน +1

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +1

      ok i'll take a look

  • @BR-lx7py
    @BR-lx7py 2 หลายเดือนก่อน

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +1

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

    • @BR-lx7py
      @BR-lx7py 2 หลายเดือนก่อน

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

  • @georgynedyalkov
    @georgynedyalkov 2 หลายเดือนก่อน

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน

      sure, added to my list

  • @samarbid13
    @samarbid13 2 หลายเดือนก่อน +5

    🐍 uWSGI VS Gunicorn

    • @OldKing11100
      @OldKing11100 2 หลายเดือนก่อน

      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.

  • @thrasosthrasos7353
    @thrasosthrasos7353 2 หลายเดือนก่อน +3

    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.

  • @AntonPutra
    @AntonPutra  หลายเดือนก่อน

    🍿 Benchmarks: th-cam.com/play/PLiMWaCMwGJXmcDLvMQeORJ-j_jayKaLVn.html&si=p-UOaVM_6_SFx52H

  • @mubashirjamali
    @mubashirjamali 2 หลายเดือนก่อน

    good work

  • @hubstrangers3450
    @hubstrangers3450 2 หลายเดือนก่อน

    Thank you.....

  • @howaboutno-p8l
    @howaboutno-p8l 2 หลายเดือนก่อน +5

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +1

      haha

  • @matthieu8033
    @matthieu8033 2 หลายเดือนก่อน +4

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

    • @twitchizle
      @twitchizle 2 หลายเดือนก่อน

      What, no. This aint game FPS benchmark

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +1

      true

    • @matthieu8033
      @matthieu8033 2 หลายเดือนก่อน

      @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 2 หลายเดือนก่อน

      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

    • @peace_world_priority
      @peace_world_priority 2 หลายเดือนก่อน

      ​@@s.i.m.c.athis proxy is multithreaded unlike nginx that single threaded. this proxy is used in cloudfare that server many milions trafic

  • @ssqlone
    @ssqlone 2 หลายเดือนก่อน

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

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน

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

  • @TariqSajid
    @TariqSajid 2 หลายเดือนก่อน +4

    finally a worthy opponent for nginx

    • @daniel13021
      @daniel13021 2 หลายเดือนก่อน +2

      Not really. Nginx is still much more advanced

    • @RustIsWinning
      @RustIsWinning 2 หลายเดือนก่อน

      It is so over for nginx 😂

  • @fabiopetrillo
    @fabiopetrillo 2 หลายเดือนก่อน +1

    Rust is top!

    • @RustIsWinning
      @RustIsWinning 2 หลายเดือนก่อน +1

      Facts! 🦀

  • @aryindra2931
    @aryindra2931 2 หลายเดือนก่อน +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++

    • @UwU-f2a
      @UwU-f2a หลายเดือนก่อน

      no way it is faster than go lmao, if you just directly return json then you dont replicate real world load because in real world you write logic first and you write it in pure python, no c/c++ help anymore, and then in the end of the day your app is always slower than compiled languages because python's interpreting proccessing in runtime that slow down your app, and python's dynamic type that also slowdown your app, the more logic you write the more your app become slower again and here we know who is the real winner in suct a reality workload not suct imaginable workload

    • @aryindra2931
      @aryindra2931 หลายเดือนก่อน

      Why don't you try it first?

    • @UwU-f2a
      @UwU-f2a หลายเดือนก่อน

      @@aryindra2931 because i already know. if you know how a language work, you dont need to try it

    • @UwU-f2a
      @UwU-f2a หลายเดือนก่อน

      @@aryindra2931 you should learn that only some function that will call c++ code. all your python code, the logic, etc will be executed by python interpreter which is slow, adding the memory management and garbage collection overheat, dynamic varible checking, the more you create python code, the more your app will be very slow

  • @Kimo.Codess
    @Kimo.Codess 2 หลายเดือนก่อน

    Pingora (Rust) vs YARP (C#)

    • @peace_world_priority
      @peace_world_priority 2 หลายเดือนก่อน +1

      obviously rust beat the shit out of yarp lol. pingora is used in cloudfare services that serve many many milions traffic

  • @RupamKarmakar-s8z
    @RupamKarmakar-s8z หลายเดือนก่อน

    ScyllaDB

  • @YasasLowe
    @YasasLowe 2 หลายเดือนก่อน

    Pls do C# .NET 8 vs Node.js

  • @bcassol
    @bcassol 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน

      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 2 หลายเดือนก่อน +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 2 หลายเดือนก่อน

      ​@@isaacdruin
      scale up cost money

  • @Somens8Dworld
    @Somens8Dworld 2 หลายเดือนก่อน

    stick to caddy if you have a life and sometimes a girlfriend

  • @fraollemecha
    @fraollemecha 2 หลายเดือนก่อน

    wow pingora is way too powerful

  • @imdaboythatwheheryeah
    @imdaboythatwheheryeah 2 หลายเดือนก่อน +1

    It’s not pronounced thouthand, it’s thousand

  • @Vilayat_Khan
    @Vilayat_Khan 2 หลายเดือนก่อน

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

    • @laundmo
      @laundmo 2 หลายเดือนก่อน

      considering Cloudflare built pingora since nginx wasn't enough from a performance perspective but also ability to quickly implement new protocols etc., i'd expect it to perform well on high workload.