Announcement

Collapse
No announcement yet.

Cloudflare Ditches Nginx For In-House, Rust-Written Pingora

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • arQon
    replied
    Originally posted by Weasel View Post
    If it was rewritten into C++ or any other language (like Python, when it's not about perf), it would read as: Cloudflare Ditches Nginx For In-House Pingora. Is that so hard?
    Yeah, that's a valid point.

    I certainly won't disagree that it's not ideal, but I can empathize with his position and understand why it happens. Between the love of "New! Shiny!" that we all share, and getting swept up in the hype when you're being bombarded with it daily, I'm sure it's hard to maintain a sort of "journalistic neutrality" at times, even when you've been doing it as long as Michael has.

    The source article (Cloudflare) is actually much less cheerleader-y, so, yeah - I got nothing and can't really defend the behavior. I guess it "drives engagement" or whatever the current marketing phrase is.

    Leave a comment:


  • Weasel
    replied
    Originally posted by arQon View Post
    I think it's less Michael and more the nature of the sources. As has been noted in many other threads by now, the Rust community has an significant habit of - to put it bluntly but accurately - outright lying about "performance wins" from Rust by burying the algorithmic changes implemented at the same time. Phoronix is an aggregator for articles like this, not an author, and Michael's time is very tight, so he has to take the sources as being accurate when he summarizes them.

    He obviously does have his own biases as well, like anyone else, but C->C improvements don't really merit a language note in the title, and if you don't understand both languages then C->C++ improvements don't either. So I'd put most of it down to that, though I admit that's just gut feel.
    I understand your point, but it wasn't about the perf gains at all.

    It's just that everytime something happens to be written in Rust, no matter what the article is about and even if it's not about Rust itself, Michael never "forgets" to include "Rust" in the title, unlike other languages.

    If it was rewritten into C++ or any other language (like Python, when it's not about perf), it would read as: Cloudflare Ditches Nginx For In-House Pingora. Is that so hard?

    Leave a comment:


  • arQon
    replied
    Originally posted by ssokolow View Post
    but I also wouldn't expect them to have felt it reasonable to replace Lua with more C if they did a rewrite in C.
    Yeah, I was surprised they had that much customization going on at all really, though OF the interpreted languages, Lua is (or at least, was) significantly less crap than most. (Probably not on par with a modern JS engine though, since those get so much more investment).

    I'd be academically curious as to how much of the regained resources came from which piece. Obviously the RAM saving in particular is a combination of inappropriate event model in nginx, plus slow Lua execuation, both cascading into additional buffering, plus Lua VM overhead, but I'd like rough idea of the percentages.
    Timing the core design change is awkward without stats for the intermediate step of Rust hosting Lua, but can be done accurately enough by just removing the Lua time from the original set.

    Weasel
    > He's so biased it's not even funny

    I think it's less Michael and more the nature of the sources. As has been noted in many other threads by now, the Rust community has an significant habit of - to put it bluntly but accurately - outright lying about "performance wins" from Rust by burying the algorithmic changes implemented at the same time. Phoronix is an aggregator for articles like this, not an author, and Michael's time is very tight, so he has to take the sources as being accurate when he summarizes them.

    He obviously does have his own biases as well, like anyone else, but C->C improvements don't really merit a language note in the title, and if you don't understand both languages then C->C++ improvements don't either. So I'd put most of it down to that, though I admit that's just gut feel.

    Leave a comment:


  • Weasel
    replied
    Originally posted by arQon View Post
    ugh... yet another pretense that any benefit came from Rust rather than the re-architecting involved.

    It's great that someone has a production-quality piece of software written in Rust. A web server may be a fairly trivial piece of work compared to some things, but it has a real purpose, and performance / efficiency really matter at this scale.

    But by the gods, the stupidity of the fanboys who think any of this runtime improvement is the *result* of Rust rather than almost entirely incidental is getting nearly as painful to keep seeing as it is tedious.
    You mean like Michael?

    Every time some software is written in Rust, he makes sure to note it in the title as if that's the most important part about it.

    Ever seen him do the same with C/C++? He's so biased it's not even funny.

    Leave a comment:


  • ssokolow
    replied
    Originally posted by arQon View Post
    ugh... yet another pretense that any benefit came from Rust rather than the re-architecting involved.

    It's great that someone has a production-quality piece of software written in Rust. A web server may be a fairly trivial piece of work compared to some things, but it has a real purpose, and performance / efficiency really matter at this scale.

    But by the gods, the stupidity of the fanboys who think any of this runtime improvement is the *result* of Rust rather than almost entirely incidental is getting nearly as painful to keep seeing as it is tedious.
    I'd say both sides are wrong. It's not that Rust is magically that much faster, but I also wouldn't expect them to have felt it reasonable to replace Lua with more C if they did a rewrite in C.

    Leave a comment:


  • arQon
    replied
    ugh... yet another pretense that any benefit came from Rust rather than the re-architecting involved.

    It's great that someone has a production-quality piece of software written in Rust. A web server may be a fairly trivial piece of work compared to some things, but it has a real purpose, and performance / efficiency really matter at this scale.

    But by the gods, the stupidity of the fanboys who think any of this runtime improvement is the *result* of Rust rather than almost entirely incidental is getting nearly as painful to keep seeing as it is tedious.

    Leave a comment:


  • Mahboi
    replied
    Originally posted by darkonix View Post

    Last time I used HAProxy was 10+ years ago. I honestly assumed it has been long relaced by ngnix.
    It has but hasn't had its performance replaced. The entire point of HAProxy is to be a C load balancer/reverse proxy with super high throughput. It's just that apart from Cloudflare, people were happy enough with Nginx doing the entire work including with its bigger overhead.

    https://www.haproxy.org is still there with its age old look and 1990s design and performance.

    Leave a comment:


  • darkonix
    replied
    Originally posted by Mahboi View Post

    What? It's still as high throughput as it ever was. What are you talking about?
    Last time I used HAProxy was 10+ years ago. I honestly assumed it has been long relaced by ngnix.

    Leave a comment:


  • Mahboi
    replied
    Originally posted by darkonix View Post

    People still uses HAProxy these days? Wow
    What? It's still as high throughput as it ever was. What are you talking about?

    Leave a comment:


  • darkonix
    replied
    Originally posted by Mahboi View Post
    It would be very interesting to see a comparison between Pingora and HAProxy someday.
    People still uses HAProxy these days? Wow

    Leave a comment:

Working...
X