Hi

I have submit a related issue[1] for discussing the connections setting on
method.
Looking forward to your opinions.

[1]https://github.com/apache/incubator-dubbo/issues/2769

Ian Luo <ian....@gmail.com> 于2018年11月9日周五 上午11:29写道:

> google translation for yiji's reply:
>
> Dubbo default value will be reused to establish a tcp connection,
> nettyServerBootstrapAcceptor will listen, will use one of the childgroup
> and this channel to do the binding, other eventloop will only empty
> training, the bound channel thread will read and write data, no
> understanding where has a problem.
>
> > Finally each consumer is N * n, for each provider it is N * m
>
> I am here to provide suggestions for his problems, let him increase the
> connection number verification, netty receives multiple channel connections
> of the same client will be balanced binding eventloop (default policy).
>
> On Fri, Nov 9, 2018 at 10:47 AM Zonghai Shang <y...@apache.org> wrote:
>
> > Hi,
> >
> >
> >
> dubbo默认值会复用建立的1个tcp连接,nettyServerBootstrapAcceptor会监听到,会用其中一个childgroup和这个channel做绑定,其他eventloop只会空轮训,绑定的channel线程会读写数据,没有理解哪里有问题。
> >
> > > 最终每个consumer是N * n,对于每个provider则是N * m
> >
> >
> 我这里针对他的问题,提供建议,让他增大连接数验证,netty收到同一个client多个channel连接一定会均衡绑定eventloop(默认策略)。
> >
> > -yiji
> >
> > Ian Luo <ian....@gmail.com> 于2018年11月9日周五 上午10:37写道:
> >
> > > +1, total agree with Jason's suggestion.
> > >
> > > On Fri, Nov 9, 2018 at 5:16 AM Jason Joo <hblz...@163.com> wrote:
> > >
> > > > Hi,
> > > >
> > > >
> > >
> >
> 设置connection属性要慎重,建议从1起,因为对于connection=N,每个设置了该属性的项目会在连provider时每个provider除已连接的共用连接外均新建N个连接,也就是最终每个consumer是N
> > > > * n,对于每个provider则是N * m
> > > >
> > > > 其中,
> > > > n - provider数
> > > > m - 消费数
> > > >
> > > > 另外由于method/service均可设置该属性,多个属性会叠加这个问题
> > > >
> > > > best regards,
> > > >
> > > > Jason
> > > >
> > > > > On Nov 8, 2018, at 11:54, Zonghai Shang <y...@apache.org> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > 麻烦图片重新发下,这边看不到图片。
> > > > >
> > > > > 1. dubbo默认多个请求会复用同一个tcp连接,所以只有一个NettyServerWork去处理client
> > > > > io事件,netty模型会把chanel绑定到eventloop,一旦绑定永远不会改变。
> > > > >
> > > > > 2. 你可以增加client端连接数,比如connections=3 或者4,5,然后再观察。
> > > > >
> > > > > 备注: netty服务端默认会把tcp连接公平分发给children eventloop。
> > > > >
> > > > > -yiji
> > > > >
> > > > > 噬音 <402264...@qq.com> 于2018年11月7日周三 下午7:29写道:
> > > > >
> > > > >> 你们好
> > > > >>   我在使用过程中有个疑问,请在百忙中抽空解答一下:
> > > > >>
> > > >
> > >
> >
> 官网说明iothreads默认是cpu个数+1,从线程栈中看到有1个NettyClientWoker、3个NettyServerWork和1个NettyServerBoss线程;在服务运行过程中,看到NettyClientWoker和其中一个NettyServerWork线程是有CPU负载的,按照Netty框架,通过Boss线程去select
> > > > >>
> > > >
> > >
> >
> work线程,然后work去run,应该三个NettyServerWork线程cpu使用率应该是相近的;为什么只有一个NettyServerWork
> > > > >> cpu负载高,其它的两个线程NettyServerWork几乎看不到cpu负载(线程状态都是RUNNABLE的)?
> > > > >>
> > > > >> PS:使用的是4核cpu的服务器,dubbo版本号2.6.2,dubbo使用默认配置
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > >
> > > >
> > >
> >
>

Reply via email to