日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、標準的netty線程模型

雙池合璧:

不知道Netty,面試只能涼涼......

 

1、連接線程池:

連接線程池專門負責監聽客戶端連接請求,并完成連接的建立(包括諸如握手、安全認證等過程)。

連接的建立本身是一個極其復雜、損耗性能的過程,此處使用線程池,能夠極大的增加處理客戶端連接的能力。

2、I/O線程池:

連接線程池會將成功建立的連接注冊到后端I/O線程池,由I/O線程池負責對相應連接的網絡數據進行讀寫、編解碼處理。

在實際應用中,我們通常會定義相應的業務消息協議,并選擇合適的序列化機制,netty I/O線程池部分根據預設的規則進行數據的編解碼。

二、延伸的業務線程池

不知道Netty,面試只能涼涼......

 

 

其實我們這里說的業務線程池不在網絡層處理邏輯里。處理到I/O線程池部分,所需要的請求數據已經處理完畢,涉及具體的業務處理邏輯,比較復雜的,或者時間、性能消耗特別大的,通常我們會單獨設置相應的線程池來處理。

三、netty的極致性能設計

1、無鎖化設計

I/O線程的內部串行化:

不知道Netty,面試只能涼涼......

 

局部無鎖化串行處理,避免多線程切換帶來的復雜性及性能損耗(鎖競爭、CPU資源分配)。至于對于處理能力的考慮,可以通過調整I/O線程池容量來平衡。

盡量避免I/O線程和業務線程混淆及切換。

2、直接內存使用

TCP接收和發送使用直接內存代替堆內存,避免了數據在堆內存和主內存之間的復制消耗,提升了I/O讀取和寫入的性能。

不知道Netty,面試只能涼涼......

 

3、transferTo

依賴于操作系統零拷貝特性直接將緩沖區數據發送到相應的通道。

不知道Netty,面試只能涼涼......

 

傳統的方式,先將源文件拷貝到內存,然后由內存寫到目的文件。

netty 利用 NIO FileChannel transferTo方法,通道對通道寫數據。

4、CompositeByteBuf

組合緩存使用可以像操作單個緩存一樣操作多個緩存,避免了傳統的操作方式帶來的內存復制性能消耗。

不知道Netty,面試只能涼涼......

 

5、內存池使用

netty支持通過內存池的方式循環利用ByteBuf,避免了頻繁的創建,銷毀ByteBuf帶來的資源及性能損耗。

ByteBuf byte數據緩沖區,是NIO編程的主要對象。高負載情景下,ByteBuf內存池使用,可以有效降低GC頻率。

PoolArena netty的內存池實現類。PoolArena 是由多個Chunk組成的大塊內存區域,每個Chunk由一個多個Page組成。

Chunk:組織管理Page的內存分配和釋放,Page被構建為二叉樹形式:

不知道Netty,面試只能涼涼......

 

PoolSubpage:對于小于Page的內存使用,直接在Page中完成分配,每個Page切分為大小相同的多個存儲塊兒,存儲塊兒的大小由第一次申請的內存塊兒大小決定。

回收:netty使用狀態位標識Chunk及Page內存可用性,Chunk標識二叉樹Page節點使用狀態;Page標識內部內存塊兒的使用狀態。

6、線程安全優化

合理的使用線程安全容器、原子類等,提升系統的并發處理能力,

7、引用計數器

通過引用計數器及時的申請釋放不再引用的對象,細粒度的內存管理降低了GC的頻率,減少GC帶來的時延增大和CPU損耗。

Netty 4中 ByteBuf 和 ByteBufHolder 引入引用計數器功能(實現ReferenceCounted接口),在特定的對象上跟蹤引用的數目。

引用計數器初始為1。如果對象活動的引用計數器大于0,則不會被釋放。當引用計數減少到0,實例將會被釋放。這也是 PooledByteBufAllocator 內存池應用的核心特性。

作者:WindWant

來源:https://www.cnblogs.com/niejunlei/p/13070107.html

分享到:
標簽:Netty
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定