如何提高SOCKET的并发接受连接速度

 我来答
dttsw
2017-11-19 · TA获得超过1059个赞
知道小有建树答主
回答量:770
采纳率:88%
帮助的人:309万
展开全部
不知道你用啥语言,网络并发有两种模式:
老的模式,多进程,新程序大多都不会采用这种方式;
多线程,现代程序,大多采用这种方式。
socket,如果只是链接进来,一个链接启动一个线程,有专门的服务进程循环等待。高效的实现,有链接到达,比如TCP通讯完成3路握手过程,操作系统,就会把链接放到待处理队列,通知服务进程处理。
而操作系统的未完成链接队列+在处理链接队列是有上限的,这个上限值不确定,根据操作系统不同,可以用程序动态监测到。
因此,如果操作系统链接队列已满,接受不了新的请求的。一般返回错误是connection refused。
想要快速处理并发链接,编程角度考虑:
第一要求计算机接受请求要快,一般就采取多线程,服务线程,只负责,启动新的业务线程,立马接受下一次请求。
第二为了防止connection refused错误发生,业务处理逻辑代码设计要尽量的快。
第三条,做系统架构设计,再要根据不同的业务量选择适合的硬件,理论上配置越高越好,一般预算有限的,可以根据业务量提前测算个大概。买配置比测算量高一些的设备即可。一般系统设计,要考虑业务的增长。怎么测算,需要经验。
业务量大机器配置好,壮牛拉破车是不行的。设计得再好的架构,写得再好的代码。没有适合的机器。效果达不到期望值的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式