netty高性能的原因

“性能是設計出來的,而不是測試出來的”。下面我們看Netty的架構設計是如何實現
高性能的。
(1)採用異步非阻塞的I/O類庫,基於Reactor 模式實現,解決了傳統同步阻塞I/O
模式下一個服務端無法平滑地處理線性增長的客戶端的問題。
(2) TCP接收和發送緩衝區使用直接內存代替堆內存,避免了內存複製,提升了I/O
讀取和寫入的性能。
(3)支持通過內存池的方式循環利用ByteBuf,避免了頻繁創建和銷燬ByteBuf帶來
的性能損耗。
(4)可配置的I/O線程數、TCP參數等,爲不同的用戶場景提供定製化的調優參數,
滿足不同的性能場景。
(5)採用環形數組緩衝區實現無鎖化併發編程,代替傳統的線程安全容器或者鎖。
(6)合理地使用線程安全容器、原子類等,提升系統的併發處理能力。
(7)關鍵資源的處理使用單線程串行化的方式,避免多線程併發訪問帶來的鎖競爭和
額外的CPU資源消耗問題。
(8)通過引用計數器及時地申請釋放不再被引用的對象,細粒度的內存管理降低了
GC的頻率,減少了頻繁GC帶來的時延增大和CPU損耗。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章