If I were to make an REST API server, that serves 10,000 requests per second per core, which OS should I use?
If I were to make an REST API server, that serves 10,000 requests per second per core, which OS should I use?
But, here is an answer - 10,000 requests per second is 100 microseconds per request. At 100Mbps network speed, this gives (roughly) 10 characters per microsecond or a budget of 1,000 characters combined per request. We will take 100 characters for the request, and 900 characters for the reply. Of course, you could go with 1Gps network service, and multiply this by 10. But, you will need at least 20kpps "per core".
However, you also have to contend with disk i/o and/or the database layer.
Which OS? I think you are probably a long way from being able to answer that question. Note that OpenBSD will not be as "multicore performant" but that may not matter in your application.
The server I'm using has Intel SSDs, capable of 400,000 read IOPS per drive. Redis caching can be used to reduce database accesses as well.
Also, make use of netmap: http://info.iet.unipi.it/~luigi/netmap/ That is available for FreeBSD and Linux.
10k messages per sec is doable. But probably not off the shelf.