linux如何采用epoll模型?就是我要改哪个地方才可以用这种模型了呢~ 5C

我在网上搜,都是说这个模型的实现原理,还说有三个参数但是这东西到底怎么用啊。我现在有一个游戏项目,前后端(java websocket)两种服务器,,中间nginx负载,我需要怎么捣鼓,才可以用上这个epoll模型。
是在内核的什么文件里加个什么代码吗,还是要在代码里配置什么的~求大佬解惑~

1个回答

我抛砖引玉:
1、nginx上可以配置底层网络模型

 events {
        use epoll;
        worker_connections  65535;
}

2、如果使用netty的话,可以这么干:

     EventLoopGroup bossGroup = new EpollEventLoopGroup(1);
   EventLoopGroup workerGroup = new EpollEventLoopGroup();

3、tomcat

首先将connector设置成nio或者apr,然后设置下面的参数

    CATALINA_OPTS='-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider'

这样基本上就够了,欢迎交流~

qq_24913711
qq_24913711 大佬大佬,我现在找到了一个很像的配置,现在都改了,我用什么命令能验证我现在到底用没用上epoll呢~
接近 2 年之前 回复
weixin_37893887
玄尺 这玩意会根据安装的jdk自动切换,和我们的配置没什么关系
接近 2 年之前 回复
qq_24913711
qq_24913711 如果是windows就是WindowsSelectorProvider。如果是linux会变成sun.nio.ch.EPollSelectorProvider,这是不是就是咱们设置那个参数想要的效果呢,现在他自己就会切换了,是不是说我不设置也可以呢
接近 2 年之前 回复
qq_24913711
qq_24913711 我刚才查看了我后台代码发现JAVA NIO有选择器,会在不同系统下自动调用不同的java.nio.channels.spi.SelectorProvider;
接近 2 年之前 回复
qq_24913711
qq_24913711 回复weixin_37893887: 哦哦,那我应该怎么查看或测试我有没有启用成功这个呢
接近 2 年之前 回复
weixin_37893887
玄尺 wildfly我没有使用过,只要是java开发只需要在参数上添加上面的配置就可以了,你找一下wildfly的启动脚本。nginx的配置只需要配置一个下面的server是共享这个配置的
接近 2 年之前 回复
qq_24913711
qq_24913711 谢谢大佬解答,我用的是wildfly,该怎么配置呢,nginx单独服务器,在这个上用这个use epoll,那同组的那些负载服务器就都不用配置了吗。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问