我正在设计一个具有网络接口的应用程序,用于输出大量非常小的元数据请求。应用程序代码本身非常快,基本上查找缓存在内存中的数据并将其发送到客户端。
在Linux机器上运行的网络应用程序服务器可以获得的绝对最低延迟是多少?这将是一个在没有身份验证的gigE上运行的内部应用程序。考虑的任何语言/框架,优先选择C,C ++或Python。同样对于协议,虽然HTTP会很好。
答案 0 :(得分:1)
对于小型,快速的HTTP服务器,您可以查看gatling。主要特点:
答案 1 :(得分:1)
如果它符合您的需求,请考虑使用C或C ++和zmq
尽管如此,对于这样的应用程序来说,语言不会是性能视图中最重要的因素。如果您需要支持大量客户端,编程模型将是决定因素,每个客户端线程(较慢)或异步/非阻塞(更快)。
答案 2 :(得分:1)
Facebook最近将他们的自定义memcached发送到handle 200,000 requests per second with 173 microseconds latency。
你可以read the source code看看他们是如何做到的。他们最大的变化之一是丢弃TCP并改为使用UDP。
答案 3 :(得分:1)
G-WAN提供C和C ++ 脚本,并且已经过近800,000 requests per second的测试。
我不知道什么比这更快,many other servers have been tested。