Lowest latency, lowest service application server?
I am developing an application that will have a network interface for submitting a large number of very small metadata requests. The application code itself is very fast, basically looking for the data stored in memory and sending it to the client.
What is the absolute lowest latency I can get for a Network Application Server running in a Linux box? This will be an internal application running on gigE without authentication. Any language / framework is considered with a preference for C, C ++ or Python. Likewise for the protocol, although HTTP would be nice.
source to share
For a small, fast HTTP server, you can take a look at gatling . Key features:
- free, open source
- small, fast, scalable, comes with anti-DOS features.
- speaks HTTP, HTTPS / TLS, FTP, IPV6, understands SMB
- supports SCGI and FastCGI and therefore can be used to run binaries or ELF scripts.
- transparent content negotiation (serves as gz if client supports it)
- uses OS-specific shortcuts to improve performance
- multiple benchmarks included
source to share
If it suits your needs consider C or C ++ and zmq
For such an application, though, language won't be the biggest factor in terms of performance. If you need to support a large number of clients, the programming model will be the deciding factor, thread by client (slower) or asynchronous / non-blocking (faster).
source to share
Facebook recently got its memcached configured to handle 200,000 requests per second with a 173 microsecond latency .
You can read the source code to see how they did it. One of their biggest changes was the removal of TCP and the use of UDP instead.
source to share
G-WAN offers C and C ++ scripts and has been tested with nearly 800,000 requests per second .
I don't know anything faster and have tested several other servers .
source to share