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

硬盤測試軟件設計與測試

2014-01-16 05:57:06郭鐵魚丁艷榮
電子設計工程 2014年6期

郭鐵魚,丁艷榮

(中國人民解放軍71282部隊 河南 洛陽 471000)

硬盤[1-2]作為計算機的一個主要部件,肩負著記錄一切數據信息的重要職責,它的性能對整個系統的性能有直接影響。但硬盤在整機系統中卻充當著一個“瓶頸”的角色[3]。目前,磁盤評測軟件種類繁多,不同操作系統環境下亦有不同版本。Ziff-Davis Winbench99[4]是硬盤測試中最常用且較權威的測試軟件。但Winbench99的測試范圍包括整機、CPU、圖形等多個方面,磁盤性能測試只是其中的一個主要功能。HDTach[4]提供了硬盤的讀寫數據傳輸曲線,最高、最低和平均數據傳輸率和CPU占用率。Sisoft Sandra[4]是一款綜合測試軟件,盡管這個測試軟件功能不那么強大,但它有著簡單的測試結果和清晰的測試界面,且帶有一定數量的測試結果可供用戶作為參照。Intel IOMeter[3-4]是Intel公司開發的一個專門測試系統I/O(包括磁盤、網絡等)速度的軟件,用戶可以根據需要定制自己的運行環境,功能十分強大。但該軟件只能在Win2000或WinNT系統下運行,且測試結果 (輸出為txt文件)較復雜。

雖然以上測試軟件已相當專業和成熟,功能也非常強大。但測試原理不盡相同,得到的評測結果也有所差別。此外這些測試軟件的源代碼尚未公開[5-7],測試項目的種類已經固定,無法修改。針對以上缺點,本文設計了一種新的硬盤測試軟件,完成以下硬盤參數的測試:磁盤的瞬時、平均、最大數據傳輸率,單位時間內讀操作次數,最大和平均讀響應時間,讀錯誤次數,以及CPU利用率等。

1 硬盤測試軟件方案

硬盤檢測程序的主要任務是獲取衡量硬盤性能的各參數指標值,因此本方案的核心是對指定測試路徑的硬盤或分區進行讀操作,統計、計算出所需要的各個參數指標值。

1.1 基于硬盤驅動的方案

從硬件驅動層上起,在驅動程序一級截獲硬盤傳輸的數據量,再根據各個參數指標的計算方法得到其值。這種方案的優點是,硬盤的數據流量統計準確。但此方案要求對硬盤驅動程序的結構、編程比較清晰,代碼量較大。且在驅動程序一級統計出來的數據流量是整個系統的,不是針對某一個具體應用的,所以在實現典型應用環境下的磁盤性能檢測時比較困難。

1.2 基于操作系統API函數的方案

本方案直接調用操作系統提供的API函數,由這些API函數再調用硬盤驅動程序,然后根據API函數的返回值統計硬盤的數據流量。該方案的優點是,在進行典型應用環境中硬盤性能參數測試時,能較方便地實現。缺點是,由于使用了操作系統的API函數,測試結果必然受到操作系統I/O管理及調度策略的影響,給硬盤評測結果帶來誤差。且此種方法統計得到的I/O流量,只是測試軟件的I/O量,并不是硬盤總的I/O。因此,只有當系統中其它程序的I/O很小時,此種方法最終得到的測試結果誤差才較小。本文采用此種方案。

2 硬盤測試軟件各功能模塊實現

2.1 硬盤基本性能參數測試模塊

硬盤基本性能參數測試模塊是一個多線程模塊,包括主線程和在測試過程中創建的讀操作線程。其中,讀操作線程是一個Worker Thread類型的線程[6],進行讀操作和變量累加工作;主線程則負責整個測試程序的運行,并對讀線程中累加的變量進行計算以得到各個性能參數指標。主線程流程如圖1所示,主要包括:測試路徑的選擇,讀操作數據塊大小的選擇,讀操作方式選擇,創建讀操作線程,在每個定時器消息中進行基本性能參數的計算和顯示,以及其他消息的處理。測試開始后,在主線程中會創建一個讀操作線程,并設定好定時器。在讀操作線程中,用CreateFile函數打開在主線程中選定的路徑硬盤驅動器或分區,以獲取設備句柄提供給后面的讀操作ReadFile使用。如果是隨機讀操作方式時,每次讀操作之前用SetFilePointer函數隨機定位要讀數據塊的扇區號。此外還要在每次讀操作ReadFile函數之前,用new[7-9]根據測試數據塊大小開辟一個內存空間,以接收數據。讀操作結束以后,立即用delete[7-9]釋放掉這塊內存空間。其流程如圖2所示。

圖1 主線程框圖Fig.1 Block diagram of main thread

2.2 典型應用環境下硬盤性能測試模塊

本硬盤測試軟件中,典型應用環境下的測試分為4種:Web Server、File Server、DataBase Server、Streaming File Server。其中在前3種環境下,主要看硬盤對用戶的響應情況,即支持多少個用戶,而最后的流式文件服務器測試,由于傳輸的數據是持續的,主要看其對每個用戶所能提供的帶寬,即數據傳輸率。

圖2 讀操作線程框圖Fig.2 Block diagram of read thread

2.3 系統信息檢測模塊

由于硬件環境對測試結果的影響非常的大,所以有必要對一些重要的有參考價值的硬件信息進行檢測,以便對測試結果進行合理的分析。檢測的信息項目有四項,依次是硬盤信息、CPU信息、內存大小、操作系統信息。

2.4 記錄日志功能模塊

作為一個測試工具,往往需要將測試結果保存起來,以便進行分析,所以記錄日志功能也是不可缺少的。在實現時,單獨寫了一個日志類來進行操作,在類中主要使用了一些和文件操作有關的打開、寫文件、關閉等函數。此外,為了方便用戶保存日志文件,在將測試結果保存為日志文件之前,需提示用戶選擇保存的日志文件名和路徑。

3 硬盤測試軟件的測試結果及分析

3.1 硬盤基本性能參數測試結果及分析

硬盤基本性能參數測試由用戶選定測試路徑及讀取數據塊的大小,然后進行順序的或者隨機的讀操作測試。經過多次測試,測試結果呈現出以下兩個特點。

1)對于一個選定的測試路徑,順序讀操作的測試結果隨著讀取數據塊大小的增加,數據傳輸率先增大后減小。

選定測試路徑為C分區,數據塊大小分別選擇1 kB、2 kB、4 kB、8 kB、16 kB、32 kB、64 kB、128 kB、256 kB 和 512 kB。圖3顯示,數據傳輸率首先隨著數據塊的增大而增加,當數據塊大小為128 kB時,達到最大值;然后當數據塊的大小繼續增大時,數據傳輸率開始下降。在其他機器上測試時,數據傳輸率也呈現出這種趨勢,只是達到最大數據傳輸率的數據塊大小有所不同。這表明不同的測試環境都有一個數據傳輸率的最大值。

圖3 C盤不同數據塊大小的數據傳輸率Fig.3 Transfer rate of different data blocks in Cdisk

2)讀取相同大小的數據塊時,隨機讀操作測試結果的數據傳輸率比順序讀操作的測試結果小得多。

在隨機讀操作時,由于每次所讀的扇區是隨機的,磁頭要進行較長時間的尋道定位工作,所以,單位時間內只能完成較少次數的數據塊傳輸工作,這就導致了隨機讀操作的數據傳輸率比順序讀操作的要小得多。但是隨機讀操作的數據傳輸率隨著測試數據塊的增大而增加,這點與順序讀操作時數據傳輸率隨著測試數據塊的增大先增加后減少不同。

3.2 典型應用環境下的測試結果及分析

3.2.1 模擬Web Server測試結果分析

測試時,選擇整塊硬盤作為測試路徑,測試時數據塊大小及其典型分布為:512 B 22%、1 kB 15%、2 kB 8%、4 kB 23%、8 kB 15%、16 kB 2%、32 kB%6、64 kB%7、128 kB 1%、512 kB 1%。Web Server的吞吐率如圖4所示。圖4顯示,模擬Web Server環境進行讀操作測試時,硬盤所提供的響應次數集中在140~160次之間。

圖4 Web Server吞吐率折線圖Fig.4 Broken line graph of Web Server's throughput rate

3.2.2 模擬File Server測試結果分析

模擬File Server測試時,數據塊的大小及分布情況為:512 B 10%、1 kB 5%、2 kB 5%、4 kB 60%、8 kB 2%、16 kB 4%、32 kB 4%、64 kB 10%。測試時仍然選擇整塊硬盤作為測試路徑,File Server的I/O吞吐率如圖5所示。圖5顯示,模擬File Server環境進行讀操作測試時,硬盤所提供的響應次數集中在150-160次之間。

圖5 File Server I/O吞吐率折線圖Fig.5 Broken line graph of File Server I/O's throughput rate

3.2.3 模擬DataBase Server測試結果分析

模擬Database Server進行測試時,數據塊大小分布為512 B、1 kB、2 kB、4 kB。 Database Server的 I/O 吞吐率如圖 6所示。圖6顯示,模擬Database Server環境進行讀操作測試時,硬盤所提供的響應次數主要集中在160~180次之間。

圖6 Database Server I/O吞吐率折線Fig.6 Broken line graph of Database Server I/O's throughput rate

3.2.4 模擬Streaming File Server測試結果分析

模擬Streaming File Server環境進行測試時,讀操作為128 kB的順序讀操作。根據測試結果將用戶數戶數目從1到6的各種情況的總數據傳輸率作圖7。從圖7中可以看出,當只有一個用戶的時候,數據傳輸率較大,基本維持在24.5 MB左右,而這個值與前面普通測試對比,128 kB數據塊大小的順序讀操作的數據傳輸率基本一樣。

圖7 Streaming File Server多用戶環境總的數據傳輸率折線圖Fig.7 Broken line graph of total transfer rate in Streaming File Server multi user environment

4 結束語

本文開發了一種硬盤性能測試軟件,使用Visual C++6.0工具和MFC+AppWizard模式。整個測試算法的核心是在讀操作線程中調用ReadFile函數發出讀操作命令,然后統計操作過程中各種需要的數據量,計算得出各個性能指標。主要完成了以下幾個功能:硬盤基本性能參數測試,典型應用環境下的測試,測試環境軟硬件信息檢測,記錄日志功能。在后續工作中還將完成硬盤的寫操作測試、硬盤的Burst I/OTest、硬盤CPU占用率的測試、完善測試原理等工作。

[1]謝其中.微型計算機常用外部設備[M].3版.武漢:華中科技大學出版社,2001.

[2]Jeppesen J,Allen W,Anderson S.Memory Products,Network and Computer Storage Hard Disk Controller[C].The Disk Drive's Brain and Body International Conference on Computer Design:VLSI in Computers&,Processors(ICCD'01),2001.

[3]Tools Development Staff.Iometer User’s Guid Intel FCD[S].Copyright(c) 1996-1999 Intel Corporation.

[4]許宏松.如何測試你的硬盤[J].微型計算機,2002(5):42-48.XUHong-song.Howtotestyour hard disk[J].Micro Computer,2002(5):42-48.

[5]David J,潘愛民,王國印.Visual C++ 技術內幕[M].4版.北京:清華大學出版社,1999.

[6]侯俊杰 著.深入淺出 MFC[M].2版.武漢:華中科技大學出版社,2001.

[7]錢能,董靈平,張敏霞.編著 C++程序設計教程[M].北京:清華大學出版社,2000.

[8]Eckel B,劉宗田,袁兆由.C++編程思想:第一卷:標準C++導引[M].2版.北京:機械工業出版社,2002.

[9]Petzold C.Windows程序設計[M].5版.北京:北京大學出版社,2000.

主站蜘蛛池模板: 老司机午夜精品网站在线观看 | 国产成人精品亚洲日本对白优播| 欧洲高清无码在线| 波多野结衣无码AV在线| 亚洲妓女综合网995久久| 国产第一页屁屁影院| 亚洲中文字幕23页在线| 欧美日韩国产在线人| 亚洲天堂成人在线观看| 一级做a爰片久久毛片毛片| 激情综合网激情综合| aa级毛片毛片免费观看久| 无码中文字幕精品推荐| 九月婷婷亚洲综合在线| 四虎影院国产| hezyo加勒比一区二区三区| 亚洲国产天堂久久九九九| 亚洲日韩精品欧美中文字幕| 色综合五月婷婷| 99re精彩视频| www.狠狠| 久草中文网| 亚洲一区无码在线| 亚洲国产综合第一精品小说| 青青久视频| 亚洲狼网站狼狼鲁亚洲下载| 亚洲视频欧美不卡| 在线观看无码av免费不卡网站| 台湾AV国片精品女同性| 凹凸精品免费精品视频| 成人一区专区在线观看| 精品久久综合1区2区3区激情| 免费观看欧美性一级| 欧美在线视频不卡第一页| 国产在线日本| 国产高清精品在线91| 欧美成人看片一区二区三区| 18禁黄无遮挡网站| 青草视频久久| 久久人体视频| 国产精品99久久久| 国产一二三区视频| 午夜国产精品视频黄| 啪啪永久免费av| 久久精品亚洲专区| 视频一本大道香蕉久在线播放| 日韩精品一区二区三区视频免费看| 114级毛片免费观看| 国产主播在线一区| 国产激情无码一区二区三区免费| 人人看人人鲁狠狠高清| 波多野结衣一区二区三区88| 97se亚洲综合在线韩国专区福利| 色屁屁一区二区三区视频国产| 国产97视频在线| 亚洲精品第一页不卡| 亚洲小视频网站| 亚洲高清中文字幕| 91精品啪在线观看国产| 久久久久人妻一区精品色奶水 | 久久婷婷国产综合尤物精品| 亚洲欧洲日产国码无码av喷潮| 亚洲三级影院| 欧美 亚洲 日韩 国产| 99久久国产综合精品2023| 欧美啪啪网| 亚洲视频在线网| 91蜜芽尤物福利在线观看| 欧美精品在线观看视频| 一边摸一边做爽的视频17国产 | 99久视频| 欲色天天综合网| 精品国产一区91在线| 国产色婷婷视频在线观看| 国产成人一区二区| 一级毛片免费播放视频| 99视频精品全国免费品| 国产素人在线| 日韩免费成人| 亚洲国产黄色| 88av在线看| 欧美激情第一欧美在线|