2

我正在设计一个应用程序,它有一个网络接口,用于提供大量非常小的元数据请求。应用程序代码本身非常快,基本上是查找缓存在内存中的数据并将其发送给客户端。

对于在 linux 机器上运行的网络应用程序服务器,我可以获得的绝对最低延迟是多少?这将是一个在 gigE 上运行的内部应用程序,无需身份验证。考虑的任何语言/框架,优先考虑 C、C++ 或 Python。协议也是如此,尽管 HTTP 会很好。

4

4 回答 4

1

对于小型、快速的 HTTP 服务器,您可以查看gatling。主要特点:

  • 免费,开源
  • 体积小、速度快、可扩展、自带反DOS功能
  • 会说 HTTP、HTTPS/TLS、FTP、IPV6,了解 SMB
  • 支持 SCGI 和 FastCGI,因此可用于运行 ELF 二进制文件或脚本
  • 透明内容协商(如果客户端支持,则为 gz 服务)
  • 利用特定于操作系统的快捷方式来提高性能
  • 包括几个基准
于 2010-04-12T23:12:18.283 回答
1

如果它适合您的需求,请考虑 C 或 C++ 和zmq

不过,对于像这样的应用程序,从性能角度来看,语言并不是最大的因素。如果您需要支持大量客户端,编程模型将是决定因素,每个客户端线程(较慢)或异步/非阻塞(较快)。

于 2010-04-12T23:20:41.123 回答
1

Facebook 最近获得了他们定制的 memcached 以每秒处理 200,000 个请求,延迟时间为 173 微秒

您可以阅读源代码以了解他们是如何做到的。他们最大的变化之一是放弃 TCP 并改用 UDP。

于 2010-04-13T00:09:53.777 回答
1

G-WAN 提供 C 和 C++脚本,并且已经过每秒近 800,000 个请求的测试。

我不知道有什么比这更快的,并且已经测试了许多其他服务器

于 2012-03-14T16:34:59.597 回答