1、解决使用线程池导致速度慢的问题:

acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(Executors.newCachedThreadPool()));

IoBuffer.setUseDirectBuffer(false);
IoBuffer.setAllocator(new SimpleBufferAllocator());


2、解决过多TIME_WAIT的问题:


[java] view plain copy

  1. @Override  

  2.     public void sessionCreated(IoSession session) throws Exception {  

  3.         // TODO Auto-generated method stub  

  4.         SocketSessionConfig cfg = (SocketSessionConfig) session.getConfig();  

  5.         cfg.setReceiveBufferSize(2 * 1024 * 1024);  

  6.         cfg.setReadBufferSize(2 * 1024 * 1024);  

  7.         cfg.setKeepAlive(true);  

  8.         cfg.setSoLinger(0);   

  9.     }