軟件測試工具中VSTS性能分析工具Profiler的介紹
在MSDN文檔中,對于VSTS中的Development Edition的介紹主要分兩大塊,第一是“編寫高質量的代碼”,第二就是“使用分析工具對應用程序性能進行分析”。在VSTS里面有一個工具,叫Profiler,這個工具可以幫助研發人員在程序運行的過程中收集相關的數據,并且對之進行分析,從而達到幫助實現性能調優的目的。本文講述如何在使用命令行工具來對ASP.NET程序進行性能測試相關數據的收集。
在VSTS的Profiler中,有兩種(VSTS2010好像有5種了)Profiling的方法,第一種是采樣(Sampling),第二種是檢測(Instrumentation)。對于采樣模式,它的工作原理是Profiler定期中斷CPU并且收集函數的調用堆棧信息。在網上找到一個圖,對于采樣工作方式的描述非常清晰:
對于檢測模式,他的工作原理是用VSInstr程序在原始的代碼中插入一些用于計算時間的代碼,例如A函數調用B函數,那么在調用B函數的前后都會被插入用于計算時間的代碼,具體可以看下圖:
下面我自己寫了一個小的Sample類,然后把編譯好的代碼用Reflector來查看,很容易地就能看出區別。第一個圖是沒有經過VSInstr處理的原始代碼:
原文轉自:http://www.anti-gravitydesign.com