【发布时间】:2013-06-26 15:01:04
【问题描述】:
我正在构建一个性能极高的企业软件,它将每秒接收、处理和响应超过 50,000 个 TCP 请求。这将分布在许多 Amazon EC2 服务器上,但我希望单个服务器能够每秒处理尽可能多的请求(以 5k/秒的速度拍摄)。我很可能会使用运行 Amazon Linux 的 m1.xlarge 实例。
我正在使用 Boost ASIO 用 C++ 构建这个软件,并且我正在尝试找出构建套接字处理的最有效方法。在示例 (http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/examples.html) 中,我倾向于模拟“HTTP Server 2”,因为我们将有多个 vCPU 供员工使用。
谁能真正描述每个 HTTP 服务器示例的优缺点,并处理这么多的连接,我真的很感激任何额外的见解(关于 Boost 套接字和/或高吞吐量 EC2 配置)。
非常感谢!
【问题讨论】:
-
虽然每秒 50k 消息并没有完全消失,但我不会称其为“极高的性能”。 marketdatapeaks.com
-
对我来说它的性能非常好。当然它不是股票市场规模的(当然还有很多其他公司处理更大的交易量),但是这 50k 请求中的每一个都需要在后端完成相当多的处理(不仅仅是提供静态文件),所以我认为它相当密集。你有这样的经历吗?谢谢!
-
我知道,但不幸的是我不知道你引用的例子。
标签: c++ sockets boost amazon-ec2 boost-asio