999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Windows運行過程可視化的軟件性能分析

2013-09-12 01:49:52趙政文齊萬華
微處理機 2013年1期
關鍵詞:進程可視化系統

王 卉,趙政文,齊萬華

(西北工業大學計算機學院,西安 710068)

1 引言

隨著軟件的發展和應用,用戶關注的已經不僅僅是軟件的功能,性能也開始成為關注的焦點。因此開發人員希望通過對被測系統進行性能測試,定位性能瓶頸,分析引起性能問題的原因。由于軟件的性能最終要通過系統的整體性能表現出來,一般開發人員因為各種因素,并不能通過代碼來對系統的資源利用率和相關資源(如網絡、數據庫、應用服務器等)的使用和消耗數據進行性能分析和測試。Windows作為最廣泛使用的操作系統,對其內核的運行狀態進行可視化研究很有意義。

可視化泛指利用計算機圖形學和圖像處理技術,將數據轉換成圖形或圖像在屏幕上顯示出來并進行交互處理的理論、方法和技術,這是一個展示數據并獲得對數據更深層次認識的過程。基于Windows內核運行過程的可視化系統通過調用ETW,并在開發程序的關鍵處插入代碼,當代碼在內核中運行時,以事件跟蹤的方式實時進行采集、解析,并通過可視化界面工具打開。由此開發人員可以通過代碼運行時系統的資源利用率和對相關資源(如網絡、數據庫、應用服務器等)的使用等進行性能分析和測試。

2 內核運行數據的采集和解析

作為性能分析及數據采集的系統,應遵守以下準則:

(1)真實性:采集出的數據可視化后反應的是真實的系統運行狀況,獲取系統最真實的性能表現。

(2)動態性:體現各種操作執行的時序關系。

(3)可靠性,系統具有容錯能力和可連續運行的能力。

(4)可用性,系統開銷要小,不會嚴重降低系統和網絡性能。

(5)適應性,對系統來說必須是易于開發的,可添加新的功能,能隨時適應系統環境的改變。

Windows事件跟蹤(ETW)是操作系統提供的一個高速通用的跟蹤工具,能夠滿足上述需求。ETW的優勢在于結合使用系統內核模式和用戶模式的組件,優化事件日志的快速寫入,在實際操作環境中實現詳細跟蹤。ETW在內核中實現緩沖和日志記錄機制,日志記錄機制使用處理器的緩沖區,當緩沖區滿或是ETW會話終止時,系統將提前轉儲緩沖區的內容,由異步寫線程將這些緩沖區寫入磁盤。這樣,在寫入事件時大型服務器應用程序所受的干擾可以被降至最小。從Windows Vista開始,微軟新推出了ETW統一事件提供程序模型和API。使用ETW提供的程序API,任何應用程序DLL或驅動程序都可以成為事件的提供程序(引發事件的組件),因此任何可被記錄的重要活動都可以成為事件。

使用系統附帶的控制器應用程序logman,在本地和遠程系統上調用 ETW,以“事件跟蹤方式(event trace)”對于指定時間段內的事件跟蹤日志進行收集。使用logman工具啟動ETW會話和事件提供程序,由提供程序引發的事件寫入ETW會話中,當會話終止時,跟蹤事件跟蹤器將日志記錄在以.etl為擴展名的二進制文件中。數據解析主要是依據事件的不同類型,不同觀察粒度對采集的二進制數據提取進程/線程號、時間戳、提供程序GUID、CPU時間、CPU ID等等,并且通過數據的分類整理,轉變為規整的可視化工具數據。

3 內核數據的可視化

可視化界面沿著時間軸真實的還原了代碼運行時,進程的整個運行狀態,包括磁盤和CPU占用時間狀況和調度狀況、進程間的通信狀況。

可視化工具,是利用MFC編程實現的。把采集出的信息進行解析處理,將解析出的數據導入到可視化工具,輸出可視化界面,如圖1所示。

圖1 一個java進程的可視化實例

圖1展示一個java線程沿著時間軸的整個事務過程。圖的左側是系統運行時進程的列表,包括進程名和線程號。右側就是所有進程/線程在內核中運行的圖形顯示,進程/線程對CPU和磁盤的使用分開表示,進程/線程在CPU使用時,將之劃分為“可執行狀態”、“執行中”和“休眠狀態”三種狀態,在“執行中”狀態根據用戶模式、內核模式、缺頁異常等活動類型,根據進程/線程的狀態和活動類型的不同,以適當的顏色加以區分。當線程從休眠狀態變為可執行狀態時使用箭頭表示,以不同的顏色進行區分wakeup的原因,如網絡時間中斷、時間片中斷、其他進程中斷等等。時間軸顯示的是相對時間,可以通過修改設置,變為絕對時間。

圖1中顯示ID號為17631的java線程與ID號為17657的postmaster線程之間通信的動作。圖1中ID號為17631的java線程有“202”的數字,是事件提供程序ApProbe Trace在應用程序中插入的探測點,“202”作為methodID是用戶自定義的,通過這些探測點的加入,用戶可以更好的跟蹤代碼在內核中運行的真實狀況。

4 使用可視化分析軟件性能問題

4.1 單一事務的性能驗證的方法

圖2所示的是用戶點擊使用flash制作的網頁鏈接時一個事務的執行過程,可視化界面上顯示從瀏覽器進程結束到Framework進程的執行中出現了延遲,并且瀏覽器進程占用了很多資源,消耗了很多時間。這些延遲和消耗過多的資源需要具體分析其原因,也可以將運行程序在不同的配置環境中運行,得出可視化界面,分析是因為系統環境造成的延遲和損耗還是因為代碼等其他原因。

因此通過內核運行的可視化界面,開發人員能夠真實的了解到應用程序在各種不同操作系統內核中的運行狀態,對比性能指標進行性能分析。

圖2 一個事務執行過程的圖形化顯示

4.2 軟件性能分析實例

某一Java產品一到自己的框架處理處響應時間就從40毫秒增加到700毫秒。開發人員無法分析出問題原因,通過使用本系統,使動作/性能可視化、只用了半天時間問題點就明確化,問題得到解決。

通過可視化測試結果,進行詳細分析,發現有兩個問題,見圖3中第一幅圖虛線框出的①和②兩個部分。

圖3 利用可視化進行性能分析的實例

問題:

①CPU等待/空閑區間過多;

②與其他Java線程之間通信頻繁。

根據問題應采取以下措施進行改善:

①CPU等待/空閑區間的原因檢討;

②減少java線程間的通信次數;

③減少java線程的訪問時間。

通過以上三點對代碼進行改善,再次運行后,對比發現:改善前需要312毫秒的處理時間,改善后只需要69毫秒(約1/5)。

注:上下兩幅圖倍率,區間相同(時間間隔200毫秒)

5 結 束 語

與 Windows Performance Monitor相比,Event Tracing for Windows旨在提供較低開銷的跟蹤。ETW通常占用不超過5%的CPU,它每秒可以記錄多達20,000條事件,啟用實時跟蹤會相當快。在性能調查過程中,通常會檢查四個因素:CPU、磁盤I/O、內存和可伸縮性。大多數調查都將從CPU開始,CPU將影響應用程序的啟動和執行時間。在診斷較長的啟動時間時,檢查磁盤I/O是最有用的,磁盤I/O是冷啟動時間的主要因素,冷啟動時間是指內存中沒有某個應用程序時(如重啟后)啟動此應用程序所花的時間,而過多的內存消耗(或泄露)可能會導致應用程序隨時間的流逝變得更慢。

通過對Windows操作系統內核進行可視化,并結合一個例子展示了性能分析的應用。實例證明對內核狀態的數據采集、解析和還原對性能優化是可用的,目前的工作已獲得階段性成果。但是利用系統的可視化界面進行軟件性能分析和優化,需要有專業知識的開發人員去完成。如何更好的使用這一工具,還需要進一步的研究。

[1]Darren Mar-Elia.深入 Windows跟蹤日志[J].系統網絡,2004,1(1):50 -57.

[2]Dr.Insung Park,Alex Bendetovers.Event Tracing for Windows[EB/OL].MSDN Magazine.(2009) [2012].http://msdn.microsoft.com/zh - cn/magazine/ee 412263.aspx.

[3]Dr.Insung Park,Ricky Buch.使用 ETW 改善調試和性能優化[EB/OL].MSDN Magazine,(2007)[2012],http://msdn.microsoft.com/zh - cn/magazine/cc 163437.aspx.

[4]RUSSINOVICH ME,SOLOMON DA.深入解析 Windows操作系統:MicrosoftWindowsServe:2003,Windows XP and Windows2000技術內幕[M].北京:電子工業出版社,2007.

[5]Carver,R.H.,K.- C.Tai.Use of sequencing constraints for specification-based testing of concurrent programs[J].IEEE Transactions on Software Engineering,1998,24(6):471-490.

[6]Emrath,P.A.,S.Ghosh,D.A.Padua.Detecting nondeterminacy in parallel programs[J].IEEE Software,1992,9(1):69-77.

[7]劉群策.LoadRunner和軟件項目性能測試[M].北京:機械工業出版社,2007.

[8]段念.軟件性能測試過程詳解與案例剖析[M].北京:清華大學出版社,2006.

猜你喜歡
進程可視化系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于CGAL和OpenGL的海底地形三維可視化
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
主站蜘蛛池模板: 国产精品无码AV中文| 欧美日韩国产精品va| 91精品啪在线观看国产| 久久久成年黄色视频| 欧美人与牲动交a欧美精品| 无码免费试看| 久久这里只有精品免费| 2022精品国偷自产免费观看| 精品国产中文一级毛片在线看| 2020最新国产精品视频| 国产精品毛片一区视频播| 毛片在线播放a| 国产毛片基地| 欧美一区日韩一区中文字幕页| 99人妻碰碰碰久久久久禁片| 国产亚洲视频免费播放| 日本国产在线| 国产一区二区三区精品欧美日韩| 中文成人无码国产亚洲| 国产精品自在线拍国产电影| 国产不卡网| 天堂网亚洲系列亚洲系列| 国产在线精品网址你懂的| 亚洲欧洲日韩久久狠狠爱| 成人免费黄色小视频| 久久精品视频一| 日韩精品一区二区三区大桥未久| 欧美午夜小视频| 18禁黄无遮挡免费动漫网站| 欧美激情伊人| 日本黄色不卡视频| 91蝌蚪视频在线观看| 色悠久久综合| 亚洲人成网线在线播放va| 亚洲αv毛片| 欧美伦理一区| 国产欧美精品一区aⅴ影院| 国产黑丝一区| 国产99精品视频| 国产精品国产三级国产专业不 | 一本综合久久| 狠狠色噜噜狠狠狠狠色综合久| 国产不卡在线看| 91麻豆精品国产高清在线| 亚洲精品自产拍在线观看APP| 色播五月婷婷| 国产91丝袜| 国产人免费人成免费视频| 伊人国产无码高清视频| 亚洲最猛黑人xxxx黑人猛交| 天天色天天综合| 日韩国产欧美精品在线| 无码在线激情片| 欧美视频二区| 欧美精品亚洲二区| 精品99在线观看| 视频一本大道香蕉久在线播放| 黄片在线永久| 亚洲香蕉久久| 91福利在线观看视频| 国产欧美精品一区aⅴ影院| 国产一级小视频| 欧美精品成人| 国产精品永久久久久| 四虎永久免费地址| 久久香蕉欧美精品| 激情午夜婷婷| 久久久久夜色精品波多野结衣| 久久精品亚洲中文字幕乱码| 国产日韩丝袜一二三区| 欧美h在线观看| 亚洲精品国产首次亮相| 亚洲天堂网在线观看视频| 伊大人香蕉久久网欧美| 全部免费毛片免费播放| 亚洲精品黄| 熟女日韩精品2区| 青青国产视频| 少妇精品网站| 在线无码九区| 无码国产伊人| 丁香五月婷婷激情基地|