netty號稱java高性能網絡庫,爲人幫忙中,研究了下,寫了一個demo。反覆調試,更改,局域網兩個客戶端同時for循環發10000個20字節的數據包,入庫mysql,竟然沒丟。java
思路,netty的自己的高性能eventloop機制,接收到數據包後,作簡單處理,而後經過dbcp鏈接池入庫。假如,入緩存,好比redis,可能更快。mysql
遇到的問題:linux
一、bind()方法,直接bind(port)便可,重載的bind(host,port)只能接收本機數據。redis
二、調整緩衝區大小。用netty自帶的方法option(ChannelOption.SO_RCVBUF,1024*1024*2)設置緩衝區爲2M。另外,在linux下還須要調整系統底層的進程緩衝區參數,如果在windows下則沒必要調整系統參數。sql
代碼:netty-udpServerwindows