【銀河麒麟高級服務器操作系統】服務器測試業務耗時問題分析及處理全流程分享

?更多銀河麒麟操作系統產品及技術討論,歡迎加入銀河麒麟操作系統官方論壇

https://forum.kylinos.cn


了解更多銀河麒麟操作系統全新產品,請點擊訪問

麒麟軟件產品專區:https://product.kylinos.cn

開發者專區:https://developer.kylinos.cn

文檔中心:https://document.kylinos.cn


服務器環境以及配置

【機型】

處理器:

Hygon C86 7265 24-core Processor

內存:

512GB

整機類型/架構:

X86_64

【內核版本】kernel-4.19.90-23.32.v2101.ky10.x86_64

【OS鏡像版本】銀河麒麟高級服務器操作系統 Kylin-Server-10-SP2-Release-Build09-20210524-x86_64

現象描述

在銀河麒麟高級服務器操作系統V10SP1 系統上跑容器應用,從監控上看,kylin 的 CPU 和連接耗時都和紅帽差距有點大,測試數據如下圖。

1、intel_kylin組合業務耗時特別高,消費數很低;

2、hygon_kylin組合消費數比intel_redhat低了30%,且高并發下cpu異常升高。

現象分析

?intel_kylin問題分析

針對intel_kylin組合業務耗時特別高的問題,分析1000線程數業務測試具體數據,如下圖,copy事務最高耗時達到781s,平均4s多。

cpu使用率及網絡流量監控數據如下圖,cpu使用率僅15%,網絡流量最高不足20MB。

在intel_redhat對比測試,結果也出現耗時突然升到10000ms的情況,分析耗時過高可能是測試程序異常導致數據失真,屬于異常現象。

?hygon_kylin問題分析

(1)針對hygon_kylin組合在600線程時消費數相比低了30%的問題,由于之前沒有抓到600線程時的perf、top等數據,之后復現時再分析;先分析1000線程數具體測試數據。

上圖中copy事務耗時最大值達到了18347.5,可能部分毛刺影響最終結果;抓取機器參數對比,hygon和intel機器各項性能指標如下:

hygon機器相比intel,cpu頻率略低,測試場景下IPC(每cpu周期執行指令數)只有intel的一半多,因此hygon性能可能相對低一點,且測試時限制16C16G,hygon的核心數多的優勢沒有發揮出來,最終可能導致hygon機器測試結果比intel略低。

(2)分析hygon_kylin環境高并發下cpu使用率升高問題,根據hygon_kylin抓到的perf數據,轉成火焰圖如下,熱點主要在ConsumeMessageT、NettyClientSele和NettyClientWork進程中。

對比intel_redhat,perf轉換成火焰圖效果如下。

在hygon_kylin中ConsumeMessageT進程和intel環境占比接近都達到60%以上,說明ConsumeMessageT線程在各自環境中都是主要熱點進程;

再看hygon_kylin上cpu使用率及網絡流量監控,cpu使用率達到75%:

對比intel_redhat上cpu使用率和網絡流量監控平均56%左右。

通過抓取到top數據中的cpu使用率分析hygon_kylin環境cpu使用率升高原因。

對比每個ConsumeMessageT線程cpu使用率,兩套環境比較接近,最高都在12%左右,但是統計多個時間點活動的ConsumeMessageT進程數量,hygon_kylin環境中有107-135個,intel_redhat上只有71-105個,猜測cpu使用率可能跟測試程序拉起的ConsumeMessageT線程數有關,具體可能跟測試程序關系更大。

小結

通過對上述perf、top數據、測試結果進行分析,初步懷疑:

1、intel_kylin環境并不是正常情況下測試,數據可能有問題;

2、hygon機器測試性能低于intel,可能會導致測試結果略低;

3、hygon_kylin環境在高并發場景下拉起了更多ConsumeMessageT測試進程,表現出cpu使用率升高,可能跟測試程序關系更大。

分析結果

復測驗證

使用相同的測試方法復測收集數據來進行驗證,期間測試程序經過幾次改版,最新版本上復測得到的數據如下圖所示。

該版本沒有復現cpu使用率過高的問題,各項指標之間差距也沒那么大。

測試波動分析

intel_redhat在800線程時測試了兩次,第一次測試時消費數較高延遲也較低,但是測試快結束時耗時突然升高,到第二次測試時耗時平均400ms,消費數也有所下降,說明測試結果仍會有一定波動。

intel_kylin復測分析

intel_kylin復測數據和cpu使用率如下,對比intel_redhat各項數據都相差不大;

抓取intel_kylin環境perf數據,轉換成火焰圖效果如下:

在intel_redhat環境抓取的perf火焰圖:

兩個環境各個函數熱點占比接近,沒有發現異常開銷,且測試結果、cpu使用率等也十分接近,說明在intel機器下kylin系統和redhat性能相差不大。

hygon_kylin復測分析

hygon_kylin和cpu使用率監控如下圖,仍有部分毛刺或導致最終平均耗時偏高,測試時cpu利用率在40%左右。

抓取perf火焰圖如下:

對比intel機器,海光的swapper占比更小,業務進程占比都高一些,可能整體cpu使用率仍相對較高,而其他函數比例都比較接近,沒有發現明顯異常的函數熱點。

再通過抓取top數據進行對比,統計各個時間hygon_kylin和intel_rhel機器上的線程數,兩者都是平均65個活動的ConsumeMessageT線程,懷疑新版本的測試程序對此做了一些優化,比之前測試的活動線程數少一些,相應的cpu使用率也較低。

總結

對比兩次測試數據,舊版本測試數據如下:

新版本各個組合測試數據差距沒那么大,cpu使用率也更穩定。

結合上述復測數據和問題分析結果:

(1)測試用例中間經過幾次改版,可能修復了一些bug,之前intel_kylin測試時可能是測試程序異常導致數據失真,復測intel環境下,kylin和redhat系統性能相差不大。

(2)復測hygon_kylin相比intel_redhat性能仍略差,懷疑測試結果有一定波動,并且hygon機器性能低于intel,測試結果可能跟測試波動和機器性能有關。

(3)復測hygon_kylin場景cpu使用率沒有出現異常升高,懷疑也是跟測試程序版本有關,最新版已解決相關bug。

目前復測各個環境測試結果相差不大,相比之前主要改動為測試程序改版,系統沒有相關修改,懷疑主要還是測試程序的問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72323.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72323.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72323.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

opencv 模板匹配方法匯總

在OpenCV中,模板匹配是一種在較大圖像中查找特定模板圖像位置的技術。OpenCV提供了多種模板匹配方法,通過cv2.matchTemplate函數實現,該函數支持的匹配方式主要有以下6種,下面詳細介紹每種方法的原理、特點和適用場景。 1. cv2.T…

NAT,代理服務,內網穿透

NAT 把報文的源IP替換為途徑路由器的WAN口IP NAPT 如何將數據從公網轉回給內網的主機?通過NAPT(轉換表)來實現,每次從內網到公網,公網到內網都會根據轉換表來進行 細節: NAT轉換時,值替換源…

大模型分布式訓練和優化

1. 分布式訓練概述 隨著語言模型參數量和所需訓練數據量的急速增長,單個機器上有限的資源已無法滿足大語言模型訓練的要求。因此,設計分布式訓練(Distributed Training)系統來解決海量的計算和內存資源需求問題變得至關重要。 分布式訓練是指將機器學習或深度學習模型訓練任…

第三方機構有哪些接口?

1,網銀接口。2,代扣接口。3,POS接口。4,快捷支付接口 1.網銀接口 第三方支付平臺連接網銀接口,進行支付跳轉時,第三方支付平臺充當了一個網關的角色,或者充當了銀行的代 理。 2.代扣接口 銀…

JUnit 版本影響 Bean 找不到

JUnit 版本影響 Bean 找不到 在為實現類編寫測試類時,在測試類中使用構造器注入 Bean 時,提示找不到 Bean,代碼如下: Service public class WeChatServiceImpl implements IWeChatService {Overridepublic String getNumber(Str…

夸父工具箱(安卓版) 手機超強工具箱

如今,人們的互聯網活動日益頻繁,導致手機內存即便頻繁清理,也會莫名其妙地迅速填滿,許多無用的垃圾信息悄然占據空間。那么,如何有效應對這一難題呢?答案就是今天新推出的這款工具軟件,它能從根…

《深度學習進階》第7集:深度實戰 通過訓練一個智能體玩游戲 來洞察 強化學習(RL)與決策系統

深度學習進階 | 第7集:深度實戰 通過訓練一個智能體玩游戲 來洞察 強化學習(RL)與決策系統 在深度學習的廣闊領域中,強化學習(Reinforcement Learning, RL)是一種獨特的范式,它通過智能體與環境…

Linux端口映射

1. 方法一使用firewalld 1.1 開啟偽裝IP firewall-cmd --permanent --add-masquerade 1.2 配置端口轉發,將到達本機的12345端口的訪問轉發到另一臺服務器的22端口 firewall-cmd --permanent --add-forward-portport12345:prototcp:toaddr192.168.172.131:toport…

文本處理Bert面試內容整理-BERT的基本原理是什么?

BERT(Bidirectional Encoder Representations from Transformers)的基本原理可以從以下幾個方面來理解: 1. 雙向上下文建模 BERT的一個核心創新是它通過雙向(bidirectional)建模上下文來理解詞語的意義。傳統的語言模型(如GPT)是單向的,即它們只考慮文本的左到右(或右…

MAC 本地搭建部署 dify(含 github訪問超時+Docker鏡像源拉取超時解決方案)

目錄 一、什么是 dify? 二、安裝 docker 1. 什么是 docker? 2. docker下載地址 三、安裝 dify 1. dify下載地址 2.可能遇到問題一: github訪問超時 3.下載后完成解壓 4.進入到 cmd 終端環境,執行下面三個命令 5.可能遇到…

USB3.0設備控制器驅動分析

一、USB驅動框架分析 USB控制器作為device的驅動框架分為:gadget Function驅動、gadget Function API、Composite以及UDC驅動。 gadget Function 驅動: 解釋:是針對 USB 設備特定功能的驅動程序。功能:負責實現 USB 設備對外提供的…

《Redis 入門指南:快速掌握高性能緩存技術》

目錄 一、準備工作 二、操作數據庫 2.1 切換數據庫 2.2 存儲和查看數據 一、存儲語法 二、一次性存儲多個鍵值對 三、追加值 四、查看值的類型 五、查詢值 六、一次查詢多個值 七、查看當下數據庫所有的鍵 八、刪除鍵 九、查看 鍵 是否存在 十、重命名鍵 2.3 過期…

跨部門溝通與團隊協作

【跨部門協作:破局之道在冰山之下】 感謝太原市組織部信任,上海財經大學邀約 今日為財務精英拆解《跨部門溝通與團隊協作》迷局。從本位思維到共同愿景,用因果回路圖透視沖突本質,當財務人開始用"延遲反饋"視角看預算博…

【零基礎到精通Java合集】第一集:Java開發環境搭建

以下是針對**“Java開發環境搭建”**的15分鐘課程內容設計,包含知識點拆分、實操演示與互動練習: 課程標題:Java開發環境搭建(15分鐘) 目標:完成JDK安裝、IDE配置并運行第一個Java程序 一、課程內容與時間分配 0-2分鐘 課程目標與前置準備 明確學習目標:JDK安裝、環境…

【JavaEE】wait 、notify和單例模式

【JavaEE】wait 、notify 和單例模式 一、引言一、wait()方法二、notify()方法三、notifyAll()方法四、wait()和sleep()對比五、單例模式5.1 餓漢模式5.2 懶漢模式5.2 懶漢模式-線程安全(改進) 博客結尾有此…

http報文的content-type參數和spring mvc傳參問題

很早之前博主聊過HTTP的報文結構以及其中和傳參相關的重要參數content-type還有spring mvc,以前的三篇文章: HTTP與HTTPS協議詳解:基礎與安全機制-CSDN博客 詳解Http的Content-Type_content-type application-CSDN博客 如何在Spring Boot中…

‘ts-node‘ 不是內部或外部命令,也不是可運行的程序

新建一個test.ts文件 let message: string = Hello World; console.log(message);如果沒有任何配置的前提下,會報錯’ts-node’ 不是內部或外部命令,也不是可運行的程序。 此時需要安裝一下ts-node。 npm install

《白帽子講 Web 安全:點擊劫持》

目錄 摘要: 一、點擊劫持概述 二、點擊劫持的實現示例:誘導用戶收藏指定淘寶商品 案例 構建惡意頁面: 設置絕對定位和z - index: 控制透明度: 三、其他相關攻擊技術 3.1圖片覆蓋攻擊與 XSIO 3.2拖拽劫持與數據…

基于機器學習的圖像分類綜述

圖像分類是計算機視覺和模式識別領域的核心任務之一,其目標是從輸入的圖像中自動識別并標注其所屬的類別標簽。基于機器學習的圖像分類技術近年來取得了顯著進展,尤其是在深度學習的推動下,性能得到了質的提升,并在多個實際應用中表現出色。 以下是對基于機器學習的圖像分…

SQL Server 中行轉列

在 SQL Server 數據庫中,行轉列在實踐中是一種非常有用,可以將原本以行形式存儲的數據轉換為列的形式,以便更好地進行數據分析和報表展示。本文將深入淺出地介紹 SQL Server 中的行轉列技術,并以數據表中的時間數據為例進行詳細講…