Netty 性能为什么这么高?

Sherwin.Wei Lv7

Netty 性能为什么这么高?

回答重点

Netty 性能高的主要原因如下:

  • 非阻塞 I/O 模型:Netty 底层使用了 NIO 非阻塞模型,并且利用I/O 多路复用,通过 Selector 监听多个 Channel 的 IO 事件,使得系统资源得到了充分利用,减少了线程开销。
  • 高效的内存操作与内存池设计:ByteBuf 提供了丰富的功能,如动态扩展、复合缓冲区等,能高效地进行内存操作,并使用内存池技术来优化 ByteBuf 的分配和回收,减少频繁的内存分配和释放操作,提高性能。
  • 优秀的线程模型:Netty 底层有很多优秀的线程模型,比如 Reactor 模型、主从 Reactor 模型、多线程模型等,可以高效地发挥系统资源的优势,减少锁冲突,实现无锁串行,针对不同业务场景的诉求,可以自定灵活控制线程,提高系统的并发处理能力。
  • 零拷贝:DirectBuffer 减少堆内外的拷贝、CompositeBuffer 减少数据拼接时的拷贝、FileRegion 减少文件传输时的拷贝。
Comments
On this page
Netty 性能为什么这么高?