基于硬件特性的性能調優

      網友投稿 1184 2025-04-01

      性能優化四個方向:CPU/內存&網卡&磁盤&應用

      編譯器性能優化:

      指令布局優化:拆分函數代碼,按照冷熱指令重新排布,提升指令cache命中率

      內存布局優化:按照內存數據訪問頻率,組合熱數據區域,提升數據cache命中率

      循環優化:分析循環迭代間數據訪存依賴關系,據自動矢量化計算,加速程序運行

      JDK性能優化:

      JIT編譯優化,GC內存回收管理優化提升內存管理性能

      JVM循環、向量化、序列化技術

      Nginx綁核優化舉例

      將Nginx進程分布到各個NUMA node之內,讓系統整體的負載比較均衡,按照中斷號將中斷服務和Nginx綁定在一個NUMA中。性能將會非常明顯的提升

      NUMA指的是:非統一內存訪問架構

      三種NUMA綁核配置方法:

      1、使用系統工具numactl設置

      Numactl -C 0-15 process name

      -C : Core scope

      2、在代碼中調用親和性設置參數

      Int sched_setaffinity(pid_t pid,size_t cpusetsize,cpu_set_t*mask)

      3、多數開源軟件中提供了配置接口

      Nginx.conf文件中worker_cpu_affinity

      基于鯤鵬壓縮加速庫:

      Gzip

      Zlib

      ZSTD

      Snappy

      加解密加速

      openssl

      多媒體加速

      X.256

      Ffmpeg

      HMPP

      基礎加速

      Glibc

      Hyperscan

      加速使能

      業務和基礎軟件庫加速使能

      內核態硬件加速件使能

      針對性性能調優

      CPU/RAM

      調整內存頁大小

      CPU預取

      修改線程調度策略

      硬盤

      臟數據刷新

      異步文件操作

      文件系統參數

      網卡

      網卡多隊列

      開啟網卡TSO

      開啟網卡CSUM

      應用

      優化編譯選項

      文件緩存機制

      緩存執行結果

      NEON指令結果

      針對以讀為主的場景:如大數據讀場景。性能約提升10%。減少IO請求數量,減輕CPU壓力。

      網卡中斷的折中是性能調優的重點,如果沒有中斷會出現數據流失。本質上中斷是一種電信號,通過總線把電信號發送給中斷控制器。

      主存和CPU之間增加高速緩沖存儲器的目的是解決CPU和主存之間的速度匹配問題

      硬中斷:hardirq。由網卡、硬盤等外設產生,主要用來通知操作系統外設狀態的變化。比如網卡收到數據包時就會發生一個中斷

      軟中斷:softirq。方便網卡做后續操作,網卡輪詢軟中斷隊列。從內存拷貝到應用套接字中。應用檢測套接字中是否有新增數據。Linux將中斷分為兩個階段:上半部和下半部。上半部用來處理中斷;下半部用來處理上半部未完成的工作,通常以內核線程的方式運行。

      就像收快遞,你不確定什么時候配送到你手上,也沒有辦法了解配送進度。但是配送員是不等人的,到了你沒取直接就走人。所以只能苦苦等著。但是你可以和配送員說好“快到了就給我打個電話”,這個電話就相當于是一個中斷,只有接到電話時才會產生中斷,并產生一個新動作“拿快遞”。

      所以中斷是一種異步事件的處理機制,可以提高系統的并發處理能力。中斷會打斷其他進程。

      可以通過網卡緩存機制(100個數據包再產生中斷),但是應用層收到數據包時延也會變高。

      高中斷==低延遲

      低中斷==高吞吐

      時延、吞吐、并發尋找一個均衡點

      中斷嵌套:Linux下的硬嵌套是可以嵌套的,但是沒有優先級概念;軟中斷不能嵌套,但相同類型的軟中斷可以在不同CPU上并行執行。

      查看軟中斷:

      proc文件系統是一種內核空間和用戶空間進行通信的機制,可以用來查看內核的數據結構,可動態修改內核的配置

      查看軟中斷運行情況

      查看硬終端運行情況

      監控&分析&優化

      監控

      分析

      優化

      TOP

      最常用的Linux性能檢測工具之一。監視進程和整體性能。系統自帶無需安裝

      Pref

      監控進程內的調用情況、資源消耗情況并查找分析熱點函數。需要手動安裝

      Numactl

      監控當前NUMA節點配置、狀態,可通過改工具將進程綁定在指定的CPU Core,由指定CPU Core運行對應進程。需要手動安裝(yum install numactl numactlstat)

      Strace:程序調試工具、監控系統調用情況

      Free:系統使用和空閑資源的內存情況

      sar:網口網絡流量使用情況、系統調用情況、IO、RAM使用情況、進程活動情況等

      EthTool:網卡狀態/驅動版本信息、收發數據信息查詢等配置查詢

      Iostat:統計磁盤IO情況、飽和度、使用率等

      CacheLine對齊應用層優化可以避免內存偽共享

      無鎖編程

      大鎖邊小鎖

      高性能原子操作指令

      Google Tcmalloc通過減少內存分配中的鎖以提升高并發下的性能

      “使用線程緩存,尺寸小于256K的小內存申請均由ThreadCache進行分配;通過TreadCache分配過程中不需要任何鎖,可以極大的提高分配速度”

      鯤鵬社區

      鯤鵬文檔:案例

      鯤鵬軟件:8+ OS安裝包(CentOS Ubuntu等) 200+主流軟件

      鯤鵬論壇:問題求助、經驗分享。專家值班,5分鐘相應,普通問題2小時閉環

      認證查詢:400+鯤鵬計算兼容性認證查詢和證書獲取

      鯤鵬小智:

      兼容軟件查詢:快速獲取鯤鵬平臺以兼容的軟件詳細信息以及指導文檔及源碼下載

      鏡像包查詢:一鍵獲取華為鏡像站、mvn倉庫中已編譯的Jar包及組件rpm包

      匯編指令查詢:快速獲取常用匯編指令,從X86歉意到鯤鵬平臺的替換指令,加速代碼遷移

      經驗文檔檢索

      代碼遷移工具(Porting Advisor)

      C/C++源代碼文件

      匯編源代碼文件

      Makefile文件

      準確定位代碼修改點以及修改指導

      輸入

      分析掃描工具(Dependency Advisor):

      基于硬件特性的性能調優

      軟件安裝包(rpm/deb/tar軟件包、安裝路徑)

      源碼文件(C/C++/JAVA/匯編源代碼文件、MakeFile文件)

      輸入

      提升軟件移植分析效率和準確率

      性能優化工具(Tuning Kit):

      CPU使用情況,DDR&Cache統計

      DISK IO/NIC使用情況和質量分析

      進程/線程、鎖資源占用情況

      Top熱點函數

      創建工作任務

      配置任務屬性參數(分析類型、軟件路徑、采樣率等)

      運行軟件

      輸入

      分析處理

      圖形化輸出

      兼容性查詢:1、開源軟件 2、商業軟件 3、操作系統

      鯤鵬 運籌優化 軟件開發

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:國產機床以強有力的姿態 保障了下游制造企業的生產穩定
      下一篇:打印文檔只能打出來圖片打不出文字怎么辦
      相關文章
      亚洲AV无码成人精品区在线观看| 中文字幕亚洲日韩无线码| 国产亚洲3p无码一区二区| 亚洲国产精品不卡毛片a在线| 亚洲成年网站在线观看| 亚洲三级视频在线观看| 亚洲精品美女在线观看| 亚洲高清资源在线观看| 亚洲美女自拍视频| 亚洲女人初试黑人巨高清| 亚洲成a人片7777| 亚洲人成在久久综合网站| 亚洲中字慕日产2020| 33333在线亚洲| 亚洲看片无码在线视频| 亚洲中文字幕久久久一区| 亚洲啪AV永久无码精品放毛片 | 亚洲精品一品区二品区三品区| 中文字幕亚洲激情| 久久久久久A亚洲欧洲AV冫| 亚洲一区二区精品视频| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲中文字幕AV每天更新| 亚洲色大成网站www永久男同 | 亚洲一区二区三区乱码在线欧洲| 亚洲欧洲精品久久| 亚洲精品视频观看| 亚洲人成小说网站色| 亚洲中文无码永久免| 亚洲AV无码一区二区三区久久精品| 亚洲av无码一区二区三区在线播放| 色噜噜的亚洲男人的天堂| mm1313亚洲精品无码又大又粗| 一区国严二区亚洲三区| 国产亚洲精品不卡在线| 在线亚洲午夜理论AV大片| 亚洲av无码一区二区三区乱子伦| 久久久久亚洲AV无码专区体验| 亚洲噜噜噜噜噜影院在线播放 | 亚洲www77777| 国产亚洲视频在线|