NIO 性能调优
NIO 性能调优:零拷贝、直接内存与线上问题排查全解析 1 ⚡ 问题切入:文件服务器 CPU 100%,网络带宽却没用满 一个典型的文件下载服务,使用传统 Java I/O 实现: // 传统文件传输:将磁盘文件发送给客户端 public static void sendFile(Socket socket, String filepath) throws IOException { FileInputStream fis = new FileInputStream(filepath); BufferedInputStream bis = new BufferedInputStream(fis); OutputStream os = socket.getOutputStream(); byte[] buf = new byte[8192]; int len; while ((len = bis.read(buf)) != -1) { os.write(buf, 0, len); // 每次循环:内核→用户→内核→网卡 } bis.close(); fis.close(); } 这段代码能工作,但投入生产后出现异常现象:4 核 CPU 全部 100%,但千兆网卡只用了 600Mbps。理论上这台机器完全可以跑满千兆,为什么 CPU 先成了瓶颈? ...