Netty-4 CR6의 최신 빌드로 응용 프로그램을 테스트하고 있습니다. 응용 프로그램의 서버 쪽 끝에 약 200 요청/초의로드시 다음과 같은 오류가 발생합니다.Netty-4.0.0.CR6이 OutOfMemoryError를 throw합니다.
io.netty.handler.codec.DecoderException: java.lang.OutOfMemoryError: Direct buffer memory
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:393)
at io.netty.handler.codec.ByteToMessageDecoder.messageReceived(ByteToMessageDecoder.java:129)
at io.netty.channel.DefaultChannelHandlerContext.invokeMessageReceived(DefaultChannelHandlerContext.java:379)
at io.netty.channel.DefaultChannelHandlerContext.fireMessageReceived(DefaultChannelHandlerContext.java:364)
at io.netty.channel.DefaultChannelHandlerContext.fireMessageReceived(DefaultChannelHandlerContext.java:347)
at io.netty.channel.DefaultChannelPipeline.fireMessageReceived(DefaultChannelPipeline.java:780)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:92)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:489)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
at io.netty.channel.nio.NioEventLoop.run(NioEventL
파일 전송 응용 프로그램입니다. Netty-4 CR6 jar로 클라이언트 및 서버 빌드를 사용하고 있습니다. 모든 요청에서 클라이언트는 WebSocket 연결을 만들고 약 850KB의 파일을 전송 한 다음 CloseWebSocketFrame을 보내서 연결을 닫습니다.
그리고 질문은? –
안녕하세요, 서버 끝 부분에서이 예외가 발생하므로 많은 요청이 처리되지 않습니다. 전체 히트의 거의 절반이 실패했습니다. – GauravTheGeek
아마도'-XX : MaxDirectMemorySize' 옵션을 사용하여 최대 다이렉트 메모리를 늘려야할까요? 재생산을위한보다 상세한 단계가 인정 될 것입니다. – trustin