netty集群方案(netty 一个server有可以建多少个连接)

2024-08-19 04:55:27 2

netty集群方案(netty 一个server有可以建多少个连接)

其实netty集群方案的问题并不复杂,但是又很多的朋友都不太了解netty 一个server有可以建多少个连接,因此呢,今天小编就来为大家分享netty集群方案的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

netty 一个server有可以建多少个连接

1. 应用在netty建连接的过程中做了耗时的事; 因此我先dump了应用的线程,看到一切正常,boss线程看起来非常空闲;2. backlog太小; 首先问了下开发代码里有没有设置过backlog,开发告诉我没设置过,于是我翻了下netty的源码确认下默认值,看到backlog的默认值为读取自系统的/proc/sys/net/core/somaxconn,于是查了下系统的这个值,确认系统的这个值已经是调整过的,设置为了2048,然后确认了系统上的tcp_max_syn_backlog是4096,也就是最后work的会是2048(为什么是这样具体可见 这篇文章 ),也就是说应该是够的。用ss -s观察连接的状况,看到的是synrecv是0,也印证了上面的不是backlog的问题。到这一步就彻底傻眼了,不知道该用什么方法排查了,于是开始一堆的google,看到的各种说解决新建连接并发低的解决办法,除了调整backlog外,主要是以下两种: 1 关闭tcp_tw_recycle,尝试了(话说这里充分体现了”病急乱投医“的心态,其实我自己都不相信改这参数有用,但想着只是改下参数这种小代价的事,还是试试吧),没任何作用; 2 关闭window scaling ,也尝试了,一样没任何作用;查到这个阶段觉得自己已经无法理解了,于是求助了厂内内核团队对网络这块比较精通的同学,然后又求助了“神”,“神“帮忙看了会后,说主要的问题是现在是每epollWait唤醒一次,只建了一个连接,这导致在大量新建连接请求并发的时候,效率不够高,因此我翻了下代码,发现我本机上看到的代码不是这样的,我本机上看到的netty代码在epollWait唤醒后,是会尝试一直去accept的,但这个应用使用的netty确实不是这样,于是查了下应用的jar包库,发现里面有两个版本的netty(一个是3.2.1.Final,一个是3.6.3.Final),3.2.1确实是每次epollWait后就处理一个,于是通知开发同学把3.2.1去掉,满心期待的认为应该是好了,等开发更新好了后,自己也确认了一次epollWait唤醒后会连续处理很多个建立连接的请求,但悲催的还是没解决问题,具体的netty在这块的改造感兴趣的同学可以看看NioServerSocketPipelineSink这个类(重点看select唤醒后)…到这步,就彻底郁闷了,话说其实到这步的时候我已经被这个问题困扰了2天多了,于是只好继续google,发现又有提到打开syn cookies的建议,于是尝试了下,竟然真的work了,打开了这个参数后新建连接的并发请求轻松超过100+了。到此以为已经解决了,但很快开发给我反馈,整个集群开启了这个参数后,连接确实是能建上了,但客户端出现了发了请求后,等不到任何响应的现象,当时还不确定服务器端到底有没有收到请求,于是只好又先关闭了这个参数(话说这个我到现在都不明白为什么这个参数打开后,会出现发请求没响应的现象,求高人解答)。尽管还是没解决,但毕竟有进展,有的进展就是打开了syn cookies后连接就能建上,而syn cookies只有在backlog满了后才会生效,那也就是说还是backlog满了,从kern的日志也能确认syn cookies确实是work了,到这步就觉得诡异了,明明netty用的默认值就是somaxconn,而每秒新建40多个连接,且boss线程还很空闲的情况下显然不应该出现backlog满的现象,这个时候仔细看了下本机查看的netty代码,才发现我看的是netty 4的代码,而应用用的是netty 3.6.3,悲催,赶紧把netty 3.6.3的代码捞下来看了,才发现在3.6.3里backlog的默认值处理时不一样的,在3.6.3里默认值是50,不是netty写的默认值,是java本身,50那估计真的不一定够,于是就通知开发在代码里先强制设置下backlog为1000。在开发改代码的过程中,还有一个怀疑点想确认,就是既然是backlog满了,为什么看到的synrecv会是0呢,于是再用netstat -na | grep | grep SYN_RECV -c统计了下,结果发现值基本一直是64,java层面默认设置的是50,linux会将这个值调整为大于这个值的2的n次幂的值,那也就是64,好吧,看到这就彻底可以确定真的是因为backlog太小了造成的(只是话说我不明白为什么ss -s统计出来的synrecv会是0呢,求高人解答)。等开发改完代码重新发布后,稍微增加了点引流测试了下,轻松支撑每秒200+,客户端建立连接后发请求获取响应也完全ok,问题到此宣告解决。题外话: 这应用之所以会比较容易出现较多的synrecv,主要是因为手机网络通常是不太稳定的,另外一个原因是这种对外的都很容易带来攻击,而当时刚好这个应用前面的一个用来防syn flood的由于有bug临时关闭了,所以问题暴露的比较明显。从这个折腾了4天的case的排查过程,大家可以看到其实如果一开始我仔细确认过应用用的netty版本和我本机看的代码是不一致的话,估计很快就会排查出原因就是backlog值太小造成的,所以说折腾了这么多天其实也是自己造成的,这个告诉自己,以后排查问题的时候一定要对出现问题的应用所在的环境更加清楚的确认。ps: 最后再多啰嗦几句,从这个case还能看到的是netty的版本其实在细节上是一直在改进的,就像这个case里的不同版本的netty在处理连接事件唤醒上,还有backlog的默认值上,所以我一直很强调,对于需要存活很多年的软件而言,选择一个使用范围较广的开源软件是非常重要的,如果自己开发,也许短期能超越,但放到三年、五年这样的范围来看,通常是很难和开源软件去抗衡的(原因是商业公司没多少人会专注在一个领域做三五年的,而开源界这样的人实在是多,说实话,这种case看过太多),所以如果觉得你能做的比开源软件好,还不如去帮助已有的(当然,如果这个领域目前完全没有什么使用面较广的、靠谱的,那自己做一个开源是挺好的),软件的可持续发展能力(除非是一次性软件、做的玩的或就玩个一两年的)是非常非常重要的。

关于netty同步返回结果的解决方案

***隐藏网址*** 其实他的思路就是做一个缓存,把发送的信息做一个key存缓存,接收的信息也有这个key放到对应的缓存作为返回. 我是这么写的: 在netty的inboundHandler实现类里,channelRead方法下 具体工具类:

netty集群channel怎么跨集群

1、首先通过rocketmq等MQ推送到所有netty服务端。2、其次netty服务端发送消息去客户端。3、最后channel共享通道netty发送消息向客户端即可跨集群。

以上就是我们为大家找到的有关“netty集群方案(netty 一个server有可以建多少个连接)”的所有内容了,希望可以帮助到你。如果对我们网站的其他内容感兴趣请持续关注本站。

netty集群方案(netty 一个server有可以建多少个连接)

本文编辑:admin

更多文章:


下载安装到桌面上(电脑怎么下载软件并安装到桌面上)

下载安装到桌面上(电脑怎么下载软件并安装到桌面上)

大家好,下载安装到桌面上相信很多的网友都不是很明白,包括电脑怎么下载软件并安装到桌面上也是一样,不过没有关系,接下来就来为大家分享关于下载安装到桌面上和电脑怎么下载软件并安装到桌面上的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我

2024年8月19日 01:45

迅捷cad看图(迅捷cad如何转换为pdf)

迅捷cad看图(迅捷cad如何转换为pdf)

大家好,迅捷cad看图相信很多的网友都不是很明白,包括迅捷cad如何转换为pdf也是一样,不过没有关系,接下来就来为大家分享关于迅捷cad看图和迅捷cad如何转换为pdf的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本

2024年6月28日 07:54

旺信下载官方下载(怎样把旺信下载到苹果ipad里面)

旺信下载官方下载(怎样把旺信下载到苹果ipad里面)

其实旺信下载官方下载的问题并不复杂,但是又很多的朋友都不太了解怎样把旺信下载到苹果ipad里面,因此呢,今天小编就来为大家分享旺信下载官方下载的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录怎样把旺信下载到苹果i

2024年7月19日 08:55

win10系统安装教程(怎么安装电脑系统win10系统教程)

win10系统安装教程(怎么安装电脑系统win10系统教程)

大家好,win10系统安装教程相信很多的网友都不是很明白,包括怎么安装电脑系统win10系统教程也是一样,不过没有关系,接下来就来为大家分享关于win10系统安装教程和怎么安装电脑系统win10系统教程的一些知识点,大家可以关注收藏,免得下

2024年7月23日 08:39

PHP学习什么内容?如何学好PHP知识

PHP学习什么内容?如何学好PHP知识

本文目录PHP学习什么内容如何学好PHP知识PHP一般需要学习多久高中生零基础学PHP好学吗学习php的方法零基础,想学习PHP,应该先学习什么PHP好学吗如何最快速的学习PHPPHP程序员要不要再多学习C语言学习java、php等现在就业

2023年10月16日 04:40

海南联通网上营业厅(海南海口市那个联通营业厅支持外省补卡)

海南联通网上营业厅(海南海口市那个联通营业厅支持外省补卡)

本文目录海南海口市那个联通营业厅支持外省补卡海南省文昌市补联通卡在什么地方海南联通用户可以在网上营业厅为宽带续费吗求海南联通查话费号码,拨打那个号码后,会有短信回复,告诉你话费使用情况的中国海南联通剩余流量怎么查海南联通号码在深圳怎么查话费

2024年6月4日 02:03

cad图纸下载免费下载(有哪位网友知道哪些网站可以免费下载CAD图纸)

cad图纸下载免费下载(有哪位网友知道哪些网站可以免费下载CAD图纸)

今天给各位分享有哪位网友知道哪些网站可以免费下载CAD图纸的知识,其中也会对有哪位网友知道哪些网站可以免费下载CAD图纸进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录有哪位网友知道哪些网站可以免费下载CAD图

2024年7月17日 04:30

fireworks教程(如何用fireworks抠图)

fireworks教程(如何用fireworks抠图)

本文目录如何用fireworks抠图Fireworks 8通道抠图教程Fireworks制作跳动的红心教程fireworks的渐变工具在哪里如何用fireworks抠图以前Fireworks一直因为没有通道功能,为不少惯用photoshop

2024年7月3日 20:00

演示文稿ppt软件下载(如何下载powerpoint软件)

演示文稿ppt软件下载(如何下载powerpoint软件)

这篇文章给大家聊聊关于演示文稿ppt软件下载,以及如何下载powerpoint软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录如何下载powerpoint软件请问做ppt需要的软件怎么下载啊做ppt需要下载什么软件哪个网站

2024年4月14日 20:03

魔法卡片图标(魔法卡片怎么用手机上电脑版的魔卡)

魔法卡片图标(魔法卡片怎么用手机上电脑版的魔卡)

本文目录魔法卡片怎么用手机上电脑版的魔卡怎么熄灭魔法卡片图标魔法卡片的图标怎样点亮qq秀魔法卡片学生时代怎么集成一套卡(悬赏分20)奥比岛怎么查看自己的岛龄魔法卡片啊QQ怎么可以免费点亮各种钻的图标魔法卡片怎么用手机上电脑版的魔卡你用什么浏

2024年6月27日 10:55

手机银行怎么开通(手机银行怎么开通)

手机银行怎么开通(手机银行怎么开通)

大家好,今天小编来为大家解答以下的问题,关于手机银行怎么开通,手机银行怎么开通这个很多人还不知道,现在让我们一起来看看吧!本文目录手机银行怎么开通手机银行怎么开通怎样才能开通手机银行怎么开通手机银行手机银行怎么开通手机银行怎么开通手机银行怎

2024年6月23日 01:10

叉叉助手ios官网(叉叉助手怎么用ios)

叉叉助手ios官网(叉叉助手怎么用ios)

“叉叉助手ios官网”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看叉叉助手ios官网(叉叉助手怎么用ios)!本文目录叉叉助手怎么用ios苹果去哪下叉叉助手《叉叉助手》通过下载叉叉DEB包安装iOS越狱版教程ios 91版

2024年7月10日 05:25

天天酷跑多人挂最新版(谁有天天酷跑多人对战辅助软件)

天天酷跑多人挂最新版(谁有天天酷跑多人对战辅助软件)

大家好,关于天天酷跑多人挂最新版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于谁有天天酷跑多人对战辅助软件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2024年6月10日 15:44

中英文翻译器免费(有哪些好用的中英文翻译软件)

中英文翻译器免费(有哪些好用的中英文翻译软件)

这篇文章给大家聊聊关于中英文翻译器免费,以及有哪些好用的中英文翻译软件对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录有哪些好用的中英文翻译软件免费中英文翻译app英文文献翻译软件免费手机英文翻译软件中英文翻译哪个软件好免费的

2024年5月18日 17:05

联想a60线刷机教程(速求联想A60刷机方法,最好能QQ语音指导,)

联想a60线刷机教程(速求联想A60刷机方法,最好能QQ语音指导,)

本文目录速求联想A60刷机方法,最好能QQ语音指导,联想A60如何刷机刷机的好处联想A60刷机教程求联想A60+ 卡刷刷机教程联想A60的刷机步骤,及所需工具,越详细越好速求联想A60刷机方法,最好能QQ语音指导,刷机步骤如下;1.进入联想

2023年11月5日 17:40

在淘乐购被骗了报警有用吗?淘乐购是不是骗子网站

在淘乐购被骗了报警有用吗?淘乐购是不是骗子网站

本文目录在淘乐购被骗了报警有用吗淘乐购是不是骗子网站淘乐购抢单是不是真的淘乐购消费卡算非法集资吗美淘乐购是资金盘吗在淘乐购被骗了报警有用吗摘要您好。网络诈骗,想要挽回损失,唯一的方法就只有报警。咨询记录 · 回答于2021-09-25在淘乐

2024年5月7日 18:17

龙之幻想好玩吗?手机游戏龙之幻想启示录攻略

龙之幻想好玩吗?手机游戏龙之幻想启示录攻略

本文目录龙之幻想好玩吗手机游戏龙之幻想启示录攻略《龙之幻想》怎么样龙之幻想好玩吗一款时尚和丰富玩法的网游龙族幻想职业哪个好《龙之幻想》哪个职业最厉害呢龙之幻想什么职业好求款类似【QQ自由幻想】或【幻想世界】的网游!龙之幻想好玩吗这个游戏很不

2024年7月24日 08:49

怎么注销qq空间(qq空间怎么注销)

怎么注销qq空间(qq空间怎么注销)

大家好,关于怎么注销qq空间很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于qq空间怎么注销的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录qq空间怎么

2024年7月3日 08:36

中国男篮在线直播免费观看(中国男篮世预赛在哪看直播)

中国男篮在线直播免费观看(中国男篮世预赛在哪看直播)

本篇文章给大家谈谈中国男篮在线直播免费观看,以及中国男篮世预赛在哪看直播对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录中国男篮世预赛在哪看

2024年6月23日 04:20

超变态手游传奇上线99999级(跪求超变态手游传奇,装备好看,属性变态那种)

超变态手游传奇上线99999级(跪求超变态手游传奇,装备好看,属性变态那种)

大家好,关于超变态手游传奇上线99999级很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于跪求超变态手游传奇,装备好看,属性变态那种的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,

2024年7月15日 07:24

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1730
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1154
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1151
标签列表

热门搜索