• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 性能測試–性能監視器(4)

    發表于:2015-02-02來源:uml.org.cn作者:不詳點擊數: 標簽:性能測試
    Average Disk Bytes/Transfer 值大于 20 KB 表示該磁盤驅動器通常運行良好;如果應用程序正在訪問磁盤,則會產生較低的值。例如,隨機訪問磁盤的應用程序會增加

      Average Disk Bytes/Transfer

      值大于 20 KB 表示該磁盤驅動器通常運行良好;如果應用程序正在訪問磁盤,則會產生較低的值。例如,隨機訪問磁盤的應用程序會增加平均 Disk sec/Transfer 時間,因為隨機傳送需要增加搜索時間。

      性能測試之網絡篇(windows)

      監測對象:Network Interface

      網絡分析是一件技術含量很高的工作,在一般的組織中都有專門的網絡管理人員進行網絡分析,對測試工程師來說,如果懷疑網絡是系統的瓶頸,可以要求網絡仍有來寫真進行網絡方面的檢測。

      Network Interface\Bytes Total/sec為發送和接收字節的速率(包括幀字符在內)??梢酝ㄟ^該計數器的值判斷網絡連接速度是否是瓶頸,具體操作方法是用該計數器的值與目前的網絡帶寬進行比較。

      Byte Total/sec

      表示網絡中接受和發送字節的速度,可以用該計數器來判斷網絡是否存在瓶頸(參考值:該計數器和網絡帶寬相除,<50%)

      性能測試之進程篇(windows)

      查看進程的%Processor Time值

      每個進程的%Processor Time反映進程所消耗的處理器時間。用不同進程所消耗的處理器時間進行對比,可以很容易的看出具體是哪個進程在性能測試過程中消耗了最多的處理器時間,從而可以據此針對應用進行優化。

      查看每個進程產生的頁面失效

      可以用每個進程產生的頁面失效(通過Process\Page Failures/sec計數器獲得)和系統的頁面失效(可通過Memory\Page Failures/sec計數器獲得)的比值,來判斷哪個進程產生了最多的失效頁面,這個進程要么是需要大量內存的進程,要么是非?;钴S的進程,可以對其進行中的分析。

      了解進程的Process\Private Bytes

      Process\Private Bytes是指進程所分配的無法與其他進程共享的當前字節數量。該計數器主要用拉判斷進程在性能測試過程中有無內存泄漏。

      例如:對于一個IIS之上的web應用,我們可以重點監控inetinfo進程的Private Bytes,如果在性能測試過程中,該進程的Private Bytes計數器值不斷增加,或是性能測試停止后一段時間,該進程的Private Bytes仍然持續在高水平,則說明應用存在內存泄漏。

      (備注:進程分析方法用到的計數器主要有:Process\%Processor Time、Page Failures/sec、Page Failures/sec、Private Bytes)

      相關鏈接:

      內存映射文件機制

      內存映射文件是利用虛擬內存把文件映射到進程的地址空間中去,在此之后進程操作文件,就像操作進程空間里的地址一樣了,省去了讀和寫I/O的時間。

      比如使用memcpy等內存操作的函數。這種方法能夠很好的應用在需要頻繁處理一個文件或者是一個大文件的場合,這種方式處理IO效率比普通IO效率要高。

      利用內存映射文件您可以認為操作系統已經為您把文件全部裝入了內存,然后您只要移動文件指針進行讀寫即可了。這樣您甚至不需要調用那些分配、釋放內存塊和文件輸入/輸出的API函數,另外您可以把這用作不同的進程之間共享數據的一種辦法。運用內存映射文件實際上沒有涉及實際的文件操作,它更象為每個進程保留一個看得見的內存空間。至于把內存映射文件當成進程間共享數據的辦法來用,則要加倍小心,因為您不得不處理數據的同步問題,否則您的應用程序也許 很可能得到過時或錯誤的數據甚至崩潰。

      內存映射文件本身還是有一些局限性的,譬如一旦您生成了一個內存映射文件,那么您在那個會話期間是不能夠改變它的大小的。所以內存映射文件對于只讀文件和不會影響其大小的文件操作是非常有用的。當然這并不意味著對于會引起改變其大小的文件操作就一定不能用內存影射文件的 方法,您可以事先估計操作后的文件的可能大小,然后生成這么大小一塊的內存映射文件,然后文件的長度就可以增長到這么一個大小。我們的解釋夠多的了,接下來我們就看看實現的細節:

      1、調用CreateFile打開您想要映射的文件。

      2、調用CreateFileMapping,其中要求傳入先前CreateFile返回的句柄,該函數生成一個建立在CreateFile函數創建的文件對象基礎上的內存映射對象。

      3、調用MapViewOfFile函數映射整個文件的一個區域或者整個文件到內存。該函數返回指向映射到內存的第一個字節的指針。用該指針來讀寫文件。

      4、調用UnmapViewOfFile來解除文件映射。

    原文轉自:http://www.uml.org.cn/Test/201307195.asp

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>