Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Use HTTPS and watch it fall down to only 400 req / sec under load test [ without connection: keep-alive ].

I'm running about 2000 requests/s in one of my real-world production systems. All of the requests are without keep-alive and use TLS. They use about one core for TLS and HTTP processing.



Fascinating. Any special optimization you are using, or is it from off the shelf software and with standard configuration?


Sounds totally off-the-shelf.

I have a basic LAMP server running on a 4-core VM on a laptop. I just threw ApacheBench at it (not the fastest benchmarking tool, either -- it eats up 1 core all by itself), and it handles 1200 req/s TLS with no keepalive, and 3400 req/s with keepalive. This stuff scales linearly with core count, so I wouldn't be surprised to see much higher numbers in real servers.


Are these all new TLS connections? Because most benchmarks use TLS resumption which means the TLS handshake was only done once!


In my case, all of TLS connections are new and from real clients (not a benchmark/test)


AFAIK apachebench is so old it doesn't support TLS resumption, but I might be wrong.


Is AB running on the same machine during the tests?


Same machine, pegging a CPU core the whole time. So the server side only has 3 cores left to use.


For offloading SSL I use haproxy with some custom settings and a few non standard kernel settings.


Is this static or dynamic content? Are the simulated load test clients requesting the exact same pages/resources?


All dynamic content, all hitting data storage. There are no simulated clients, this is all real traffic from real clients, a lot of requests do writes, some do only reads.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: