Hacker News new | ask | show | jobs
by deutschewelle 1569 days ago
Can we get some benchmarks to get a rough ball park estimate of performance/$ ?

Is it say possible to run a production quality server that can handle hundreds of thousands of concurrent users on digital ocean lets say?

It's not clear to me as a "buyer" what its selling points are and what makes it uniquely different from other Rust frameworks

4 comments

> Is it say possible to run a production quality server that can handle hundreds of thousands of concurrent users on digital ocean lets say?

Absolutely. I used to work as an SRE on Mozilla's WebPush infrastructure. Every running Firefox in the world establishes a connection to it; that means it peaks at tens of millions of concurrent connections every day. We could easily handle hundreds of thousands of connections on a couple CPU cores and gigs of RAM.

Although most connections were usually idle, we also regularly pushed messages to every connected client (e.g. when a collection in our remote settings service was updated).

It's written in Rust using Actix.

https://github.com/mozilla-services/autopush-rs

incredible!!!
What libraries like this could you really extract "performance/$" from? Sounds like a mostly financial metric.

It's so situational that you cannot say outright exactly how much something cost in different scenarios. Doing so requires strict metrics about other things at the same time, and could only be done as an analysis of what happened, not what will happen in the future. Subtle bugs and things like just using a different data structure would impact the performance, down to the tiniest detail.

If you're so adamant to see metrics, you could use TechEmpower's framework tests, latest one placing 5th Actix in the "Composite score" (https://www.techempower.com/benchmarks/#section=data-r20&hw=...), as a result of being pretty high up in the specific benchmarks. But even with that information, it doesn't mean it'll be the 5th fastest framework when you use it.

I guess the point is: do you own benchmarks for the specific areas where you need it to be fast, calculate what your costs would be for hosting it, and you'll have your "performance/$".

The truth is there isn’t an awful lot of difference between the artist frameworks. Actix-web was one of the first though, so the reason to choose it over others would be that it’s a bit more built out feature wise.
Actix-Web actually differentiates itself from most other Rust servers in that it runs multiple per-thread runtimes as opposed to a single work-stealing runtime. This probably doesn't matter to most, but if you really care about latency, it might be a factor to consider.
There are lots of benchmarks of Actix if you search for it. It's also one of the top frameworks in the TechEmpower benchmarks.