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

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

  • <strong id="5koa6"></strong>
  • 性能工具設計簡介(2)

    發表于:2015-02-02來源:uml.org.cn作者:不詳點擊數: 標簽:性能工具設計
    用線形圖來表示CPU占用 縱向表示CPU使用率,橫向表示時間。用顏色來區分用戶態CPU和內核態CPU。類似這樣的圖還可以用來表示無響應時間,內存占用等。

      用線形圖來表示CPU占用

      縱向表示CPU使用率,橫向表示時間。用顏色來區分用戶態CPU和內核態CPU。類似這樣的圖還可以用來表示無響應時間,內存占用等。

      另外我們也可以自動分析堆棧數據,找出一段時間內連續出現在堆棧中的函數,在線形圖上醒目標出。因為這種情況很有可能是卡住或阻塞了。如下圖紅線所占有的時間段內表示主線程堆棧中都有USER32.dll 77D18816調用,再配合PDB就知道調用的是哪個函數了。這樣可以方便的找出性能瓶頸。

      還有其它各種表現形式,我們完全可以跟據自己的需要來實現。

      性能工具本身的影響

      性能工具在監聽目標進程收集性能數據,本身就會有性能的開銷。比如增加log,注入后Hook相關函數等等。這些負面影響不可避免的,我們盡量將其影響減少。比如Log寫入文件會帶來IO開銷,我們就采用先將log寫入內存,當數據采集停止后一次性寫入文件等,并且在記錄內存開銷時減掉log所占用的內存。

      總結

      總之,開發自己的性能工具,首先要明確自己關注哪些性能點,然后在此基礎上確定所需要的數據;然后確定性能工具需要哪些功能,接著一步一步實現它就好了。最后別忘了跟據自己的需要持續改進。

    原文轉自:http://www.uml.org.cn/Test/201302212.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>