为并发正名

开发中间件的许多同仁,他们首先考虑的第一个问题就是中间件要能支持高并发。他们典型的口述:有一个项目,有3000个客户端,DATASNAP能不能支持这么多并发?

3000个客户端并不代表就有3000个并发,打个比方,有一个叫做A群的QQ群,其成员数量上限是3000人,实际当中我们可以发现:(1)几乎没有在哪一个时刻出现3000人

同时在线的情况;(2)A群平均一秒钟内不会超过5个人发言。

3000人的QQ群,一秒钟之内活跃的群员才几个人,绝大多数人都在潜水。

那些潜水的人,QQ服务器应该是很少甚至完全不要为他们服务而消耗资源,而只为那几个正在活跃的群员提供服务,如此看来,QQ服务器为A群提供服务而消耗的资源其实是很少的。

中间件为每一个客户端SOCKET连接大约需要消耗0.2M的内存,所有在线但潜水的人都会消耗这种资源。

原文地址:https://www.cnblogs.com/hnxxcxg/p/3819954.html