當我的netty服務器未加載時,每件事情都正常工作。 但在負載下它開始失敗。 目前我正在使用所有的默認設置(沒有設置任何選項)。請建議是否需要設置處理2k +併發連接的任何選項(在加載過程中可能會關閉並且非常頻繁地打開)ClosedChannelException使用netty 3.2.7和3.3.1在負載下觀察
以下是netty 3.2.7的堆棧跟蹤。我升級到netty 3.3.1,但仍然失敗。
2012-09-19 16:17:54864新的I/O服務器工作#1-11 DEBUG org.jboss.netty.handler.ssl.SslHandler 42吞嚥而寫非應用程序產生的異常 數據 java.nio.channels.ClosedChannelException:null在 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] at org.jboss.netty.channel.Channels.write(Channels.java:632) 〜[netty-3.2.7.Final.jar:na] at 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.jav a:849) 〜[netty-3.2.7.Final.jar:na] at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:915) 〜[netty-3.2.7。 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] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) 〜[netty-3.2.7。 Final.jar:na]在 org.jboss.netty.channel.Channels.fireMessageRe (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.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] at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) [na:1.6.0_26] at java.lang.Thread.run(Unknown來源)[na:1.6.0_26]
它爲什麼只進入負載狀態?我僅在關機時關閉連接。其他連接被客戶關閉。我需要做任何優化嗎? – YoK
@Yok我不知道你爲什麼要關閉頻道,然後繼續使用它。只有你知道這一點。可能你遇到了一個Netty錯誤。 – EJP
正如我在之前的評論中所說的,我並沒有從服務器端關閉頻道。可能可能是Netty Bug或一些需要處理負載條件下的通道的優化。我正在尋找這些優化:(。 – YoK