I run a few thousand simultaneous connections on AWS small instances without any issues. (HTTP + HTTPS).
The key is writing good software. Which a lot of programmers are still really bad at.
I run a few thousand simultaneous connections on AWS small instances without any issues. (HTTP + HTTPS).
The key is writing good software. Which a lot of programmers are still really bad at.
From a quick glance on your post, I too suspect there is something wrong - your performance shouldn't be that bad, but there is not enough information to point where.
But, fortunately it's relatively easy to test. You get whatever server you prefer, and install nginx and install a bunch of performance testing tools (like siege, ab etc.) and then you test different concurrency load scenarios.
No custom software, and widely regarded the fastest webserver out there.
Yeah there's your problem...
Tux may be a bit faster, but it can't serve dynamic content nearly as fast as it serves files, so that's pretty much useless.
And you've written a webserver and you can't.
Interesting...
Lets stick to the facts...
You stated that Amazon instances couldn't cope. They can. They can cope just fine with thousands of simultaneous HTTP and HTTPS connections. If you can't get your amazon instance to do this, you're using crappy software.
> "The 10k problem is still not solved. A run of the mill VPS typically manages around 1k simultaneous connections and 10k requests/s. That is, over plain http. Over TLS this goes down to about 100 connections and 600 requests/s. A cheap amazon instance will usually be around 1/5th of all that."
Where the hell are you getting those poor figures from? Are you using Lisp or something?
> "and the prevalent implementation (OpenSSL) is not written for high performance servers (it basically dictates that you run blocking sockets in a thread per connection)."
Again - you're using crappy software. Don't use it.
The 10k problem is historically interesting, but for anyone who knows how to program, it's not really an issue.
Seriously. Writing a webserver isn't a big job. It's not very hard to program something that runs better than the ones you list, for specific use cases.
http://en.wikipedia.org/wiki/Comparison_of_TLS_implementatio...
?