Linux 下基礎設施及系統網路優化

2021-10-09 07:09:45 字數 1223 閱讀 9831

多級快取

充分利用 cache 是 cpu 調優的重要手段,由於是底層優化作用範圍廣。

效能分析利器——perf 引數學習

提公升 cache 命中率

快取命中:cpu 要取的資料再一級快取內,直接讀取,稱為 cache 命中率

提公升多核 cache 命中率

若發生 cpu 切換,則之前 l1 和 l2 cache 會發生切換(l1 和 l2 每個cpu單獨擁有, l3 多個 cpu 公用),優化會失效。

繫結到 cpu 比不繫結 cpu 效能更加。

小結:應用程式分配記憶體過程

業務**-->應用層記憶體池-->c 庫記憶體池--> 作業系統記憶體分配

linux 預設 c 庫記憶體池 ptmalloc2

cat /proc/$/maps檢視記憶體分配

堆記憶體最小分配132k

堆記憶體最好盡早釋放

tcmalloc c 庫記憶體池適合小記憶體分配,中大記憶體分配不如 ptmalloc2

界限:0-256k 小 256k-1m 中 1m 以上 大

tcmalloc: 多執行緒、256k 以下

ptmalloc2: 通用性好,大記憶體

堆和棧記憶體

棧速度快,缺點:容量和宣告週期

磁碟常常是瓶頸所在

優化技術

syn 請求優化

服務端優化

0:關閉

1:佇列滿開啟

2:無條件開啟

0:丟棄

1:發 rst 給客戶端

繞過三次握手傳送資料

goole 統計,三次握手在 http 請求時間中佔了 10% ~ 30%。

tfo 實現過程:

正常三次握手

syn 攜帶資料

設定系統引數 tcp_fastopen 來使用 tfo, 需要客戶端和伺服器同時支援。

close 函式

shutdown 函式

tcp_orphan_retries: 控制主動方重傳 fin 的次數,預設值為 0,表示 8 次

fin_wait_1

tcp_max_orphans

tcp_fin_timeout

被動方引數優化

netstat 發現大量 close_wait

Linux網路基礎設施配置

1 tcp ip網路配置檔案 etc sysconfig network scripts ifcfg eth0 etc sysconfig network etc host.conf etc hosts etc resolv.conf etc services 1 etc sysconfig net...

AWS 的全球基礎設施和網路

aws 使用全球基礎設施和網路。在這裡有 2 個概念需要了解下 region 和 zones aws 的所有服務都是使用 region 來進行區分的。需要注意的是不同 region 之間的資料和服務是不同的,比如說我們在美東地區常見的 us east n.virginia us east 1 和 u...

網路基礎設施是雲計算的致命弱點?

不管你選擇軟體即服務 平台即服務還是基礎架構即服務,有一件事是不可避免的 你需要良好的 可靠的網路連線到雲。網路很可能成為乙個障礙,因為雲大大改變了網路的作用 以及與之配套的硬體和軟體。雲計算真正的致命弱點是 許多it人員沒有考慮到,建立可靠的網路所帶來的更深層次的挑戰,只有遷移工作完成之後,他們才...