如何实现单服务器300万个长连接的

如何实现单服务器300万个长连接的,第1张

不是吹牛,理论上完全可以达到。
(以下参考值皆是Linux平台上)
1,Linux单个进程可以维持的连接数(fd)理论值是通过ulimit -a设置,或在server内使用setrlimit()设置,具体最大是多少?我看我的64机上是64bits的一个数值,所以,权且认为理论上是2^64-1。 anyway,几百万不是问题。
2,TCP连接数。因为是Server端,不用向系统申请临时端口,只占fd资源。所以tcp连接数不受限制。
3,维持连接当然需要内存消耗,假如每个连接(fd),我们为其分配5k字节(应该足够了,就存放一些用户信息之类的)。这样是5k3000000=15G。 文中有24G内存,应该也足够了。
================================
下面我们说下文中提及的 多消息循环、异步非阻塞。
先说异步和非阻塞吧。权且认为这俩是一个概念。都是指的IO的异步和非阻塞。
1,异步+非阻塞的话,Linux上必然是epoll了。
原理上简而言之吧,异步就是基于事件的读写,epoll同时监听所有的tcp连接(fd),当有哪些连接上有了事件(读、写、错误),就返回有事件的连接集合,然后处理这个集合里的需要处理的连接事件。这儿就是基于事件的异步IO。
非阻塞。 在得到有事件的tcp连接集合之后,逐一进行读(写)。分开来说,需要读的fd,其实数据已经到OS的tcp buffer里了,读完直接返回,CPU不等待。(返回EAGAIN,其实就进行了几次memcpy); 需要写的连接,同样,其实是把数据写到了OS的tcp buffer里,写满为止。。不会等待对方发来ACK再返回。这样,其实这里CPU基本上只进行了一些memcpy的 *** 作。。即便同时几十万连接有事件,也是瞬间处理完的事。。。然后,CPU再进行异步io等待(epoll_wait())。
当然这儿要充分利用多核,最好将io线程和work线程分开。
2,多消息循环。。这个应该是他们内部的概念。我个人猜测是异步的消息协议。
举例子,传统的TCP连接是一问一答,如>单机服务器存档游戏是不能让一个角色重复登陆。因为现在的游戏服务器会根据你的游戏行为,来判断有没有在恶意玩游戏,角色重复登录是禁止的。“大家最最最熟悉的就是单机结构,也就是单服务器。一个系统业务量很小的时候所有的代码数据都放在一个项目中,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。

简单地来说啊!单路服务器只有一个处理器,双路服务器有两个处理器。双路服务器才是真正的服务器,而pc机和单路机并不是真正意义上的服务器,虽价格便宜,但在性能上、稳定性上无法与双路机比拟,所以,亲们购买服务器一定要买双路的。别删啊百度,我还要给楼主看呢

百度知道
税控盘上的发票同步在哪里
法师兄法律咨询
百度认证:法师兄官方帐号
咨询成为第2539位粉丝
进入税控盘开票软件,有个发票同步,点击即可。
税控盘(又称“税控服务器”)是一种专用的税控装置,按照国家税务总局的“税控盘技术规范”进行研制。税控盘分为单税号税控服务器和多税号税控服务器。
税控盘增强版(又称“税控服务器”),完全按照国家税务总局的“税控盘技术规范”进行研制,是专用的税控装置。该产品分为单税号税控服务器和多税号税控服务器。
符合国标GB18240,采用SSF44税控专用算法,可以实现税控码计算,发票电子信息管理,发票明细安全存储,实时时钟的功能。
每个税号开票速度不低于50张/秒,可同时支持200个开票终端。单服务器存储发票明细量1T。适用于开票量大,开票点分散、涉税事务繁琐的集团型企业或公司。
业务性能:
1、 技术创新:将核芯板的运算、签名和存储功能分开,既扩大了存储容量又明显提高了开票速度,开票速度可达50张/s(在测试环境下,最高可到150张/s,针对实时多用户高并发开票或月末集中批量开票毫无压力)。
2、 高并发,每个税号可支持200个用户开票终端(单税号服务器可支持600个开票终端)。
3、 发票明细存储量高达1T,可存储10亿张电子发票,同时可根据客户需求扩容。

我知道的只有魔剑和eve,eve国服只有一个服务器,魔剑当初在国服是几个服务器,外服是1个,十万人没见过,一般是两万人同时在线,很多啦,一些游戏号称三千人或者一千五百人的服务器,其实撑死了几百人


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10484614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存