3

私のnettyサーバーがロードされていないとき、すべてが正常に機能しています。しかし、負荷がかかると失敗し始めます。現在、すべてのデフォルト設定を使用しています (オプションは設定していません)。2k以上の同時接続を処理するためのオプションを設定する必要があるかどうかを提案してください(ロード中に非常に頻繁に閉じたり開いたりする可能性があります)

これは netty 3.2.7 のスタック トレースです。netty 3.3.1 にアップグレードしましたが、それでも失敗します。

2012-09-19 16:17:54,864 新しい I/O サーバー ワーカー #1-11 DEBUG org.jboss.netty.handler.ssl.SslHandler 42 アプリ以外のデータの書き込み中に発生した例外を飲み込む java.nio.channels.ClosedChannelException : null at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:645) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket. nio.NioWorker.writeFromUserCode(NioWorker.java:372) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) ~ [netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.channel.Channels.write(Channels.java:632) で ~[netty-3.2.7.Final.jar:na] org.jboss で。netty.channel.Channels.write(Channels.java:593) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:831) ~ [netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) ~[netty-3.2.7.Final.jar:na] at org .jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:849) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler. java:915) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:620) で ~[netty-3.2.7.Final.jar :na] at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:282) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.codec .frame.FrameDecoder.messageReceived(FrameDecoder.java:216) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) ~[netty -3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:351) ~[netty-3.2.7.Final.jar:na] at org org.jboss.netty.channel.socket.nio.NioWorker. run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_26] at java.util. concurrent.ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] java.lang.Thread.run(不明なソース) [na:1.6.0_26]na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker. read(NioWorker.java:351) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) ~[netty-3.2 .7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util .concurrent.ThreadPoolExecutor$Worker.runTask(不明なソース) [na:1.6.0_26] java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] で java.lang.Thread.run (出典不明) [na:1.6.0_26]na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) ~[netty-3.2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker. read(NioWorker.java:351) ~[netty-3.2.7.Final.jar:na] org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) ~[netty-3.2 .7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util .concurrent.ThreadPoolExecutor$Worker.runTask(不明なソース) [na:1.6.0_26] java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] で java.lang.Thread.run (出典不明) [na:1.6.0_26]2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) ~[netty-3.2.7.Final.jar:na] at org.jboss. netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na] :1.6.0_26] java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] で java.lang.Thread.run(不明なソース) [na:1.6.0_26]2.7.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:282) ~[netty-3.2.7.Final.jar:na] at org.jboss. netty.channel.socket.nio.NioWorker.run(NioWorker.java:202) ~[netty-3.2.7.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na] :1.6.0_26] java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] で java.lang.Thread.run(不明なソース) [na:1.6.0_26]ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] java.lang.Thread.run(不明なソース) [na:1.6.0_26]ThreadPoolExecutor$Worker.run(不明なソース) [na:1.6.0_26] java.lang.Thread.run(不明なソース) [na:1.6.0_26]

4

2 に答える 2

1

この問題は、netty のバグが原因であると考えられます。ここで再現可能なテスト ケースを作成しました。nettyの3 ブランチでバグが修正されました。

于 2012-12-19T23:25:10.900 に答える
0

ClosedChannelException自分で閉鎖したチャネルを引き続き使用したことを意味します。ピアによって影響を受ける接続の状態を参照していないことに注意してください。つまり、ピアが接続を閉じたことを意味するものではありません。このチャンネルを閉じました。

于 2012-09-24T11:10:36.173 に答える