> I was sure that all servers from the techempower was at least a bit tested to > hold big amount of connections.
TechEmpower uses a large amount of connections I'm pretty sure, but it also uses HTTP 1.1 pipelining, which is a feature that's only useful in benchmarks, and almost never used in the real world for a variety of reasons. That ends up skewing benchmarks very heavily. I would read [this post](https://deavid.wordpress.com/2019/10/06/http-pipelining-is-useless/) on why it's useless in the real world and only benefits benchmark numbers. > It would be good to have at least small description how to test it. My main method for testing performance and stability was pounding servers using a tool called [Bombardier](https://github.com/codesenberg/bombardier) which is similar to wrk. I would first test using 100 connections, then 1,000, then 10,000. The servers that can't handle file descriptor exhaustion would typically crash on the higher numbers. Then I would try the same tests using POST requests with and without a body. I try with body small bodies with simple form data and large bodies with files. This gives me a pretty good idea of what the server can handle under high load and under different circumstances. I've found that most servers tested leak memory when you send them large bodies, assuming you're reading the bodies (or even if you're not, in the case of httpbeast). > Another question is about streaming: is there big difference with websocket? > The question is because I saw that mummy is fine with ws, and if sse/chunks > are pretty near - is it big problem? With websocket, you're dealing with messages and rarely streams of actual data. Replies are also simple and not data-heavy, and you aren't expected to immediately reply to messages, or even reply at all in many cases. It's quite a bit different from the normal HTTP paradigm, and therefore I can't say much about it.