首页 > OOP语言 > C++ > 正文

Muduo 网络编程示例(六)限制服务器的最大并发连接数
2014-04-03 00:00:00   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

本文已以大家都熟悉的 EchoServer 介绍如何限制服务器的并发连接数。

本文的代码见 http://code.google.com/p/muduo/source/browse/trunk/examples/maxconnection/

《Muduo 网络 编程示例 系列》计划中的第六篇文章原本是“用于测试两台机器的带宽的 pingpong 程序”, pingpong 协议的程序已经在《muduo 与 boost asio 吞吐量对比》和《muduo 与 libevent2 吞吐量对 比》两篇文章中介绍过了,所以我改为写另外一个有点意思的主题。

这篇文章中的“并发连接 数”是指一个 server program 能同时支持的客户端连接数,连接系由客户端主动发起,服务端被动接 受(accept)连接。(如果要限制应用程序主动发起的连接,则问题要简单得多,毕竟主动权和决定权都 在程序本身。)

为什么要限制并发连接数?

一方面,我们不希望服务程序超载,另一方 面,更因为 file descriptor 是稀缺资源,如果出现 file descriptor 耗尽,很棘手(跟 “malloc 失败/new() 抛出 std::bad_alloc”差不多同样棘手)。

我在《分布式系统的工程化开发方法 》一文中曾谈到 libev 作者建议的一种应对“accept()ing 时 file descriptor 耗尽”的办法。

\

\

相关热词搜索:

上一篇:Muduo 网络编程示例(七)“串并转换”连接服务器及其自动化测试
下一篇:Muduo 网络编程示例(五)测量两台机器的网络延迟

分享到: 收藏