Performance Howto - TechAid2011

16
かかかか かかか Id:kkamegawa / @kkamegawa http://d.hatena.ne.jp/kkamegawa/ https://www.facebook.com/kkamegawa/ PERFORMANCE PERFORMANCE PERFORMANCE

description

How to use performance tool in Windows.

Transcript of Performance Howto - TechAid2011

Page 1: Performance Howto - TechAid2011

かめがわ かずしId:kkamegawa / @kkamegawa

http://d.hatena.ne.jp/kkamegawa/https://www.facebook.com/kkamegawa/

PERFORMANCEPERFORMANCEPERFORMANCE

Page 2: Performance Howto - TechAid2011

自己紹介• かめがわ かずし• 最近は @IT さんでチューニング関係の記事書いてい

ます ( 現在連載中 ) 。http://www.atmarkit.co.jp/fdotnet/chushin/vsperf_index/index.html~連載:アプリケーションのギアを上げよう~http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_index/index.html~連載: Visual Studioデバッグ手法~

Page 3: Performance Howto - TechAid2011

ツール紹介

Page 4: Performance Howto - TechAid2011

チューニング支援無料ツール

• OS 付属のツール• Windows SDK 付属のツール

Page 5: Performance Howto - TechAid2011

なにはなくともパフォーマンスモニタ• Perfmon.exe 。リソースモニタ-は pefmon を見や

すくした形• パフォーマンスモニターは Windows のパフォーマン

スカウンターを表示するもの。世の中の性能監視ソフトもこれと同じパフォーマンスカウンタ見てるだけ。

• .NET Framework のソフトもいろんな調査できるよ!

Page 6: Performance Howto - TechAid2011

押さえておきたいカウンタ• Queue Length 系。高い数値が続くと負荷かかってます

( 瞬間的なら基本問題ない ) 。• Physical Disk/Current Disk Queue Length

• Server Work Queue/Queue Length( など )

• .NET

• .NET CLR Memory ( GC )• SQL Server 入れていれば MSSQL$ 系• Oracle もパフォーマンスカウンタある ( 以前のバー

ジョンまでは標準ではインストールされない )

Page 7: Performance Howto - TechAid2011

監視• パフォーマンスモニタはデフォルトが秒単位で採取• 多くのカウンタを欲張って取り始めると採取が間に合

わなくなる( 最近の PC 性能いいから中途半端に間に合うこともある )

• 開発中とかでも 1 分間隔で OK 。本番はもっと長くても OK

Page 8: Performance Howto - TechAid2011

WINDOWS SDK のパフォーマンスツール• Windows Performance Toolkit

• Performance Analyzer

• WPF Performance Suite

• GPU View

Page 9: Performance Howto - TechAid2011

WPF PERFORMANCE SUITE

• WPF の性能測定用。 Visual Profiler と Perforatorの二つ

• Profiler は UI のボトルネックさがし。 Perforator はGPU の負荷さがし (GPUView 使えばもっと細かい )

• 日本語 OS (正確には GMT より前の時間帯にタイムゾーンを合わせている地域)ではパッチ当てないと使えないhttp://d.hatena.ne.jp/Yamaki/20110202/1296630757

Page 10: Performance Howto - TechAid2011
Page 11: Performance Howto - TechAid2011

こんなの動かしてみる• 頂点数 27000 ポリゴン• Lightwave 10 付属のモデルデータを拝借

• ぐるぐるアニメーション ( このくらいなら手付楽 )

Page 12: Performance Howto - TechAid2011

結果• 30000 ポリゴンくらいのモデルなら三世代以上までの

GPU(GeForce 9800GT) でも全然楽勝( 昔は OpenGL 対応のカードじゃないと全然… )

• もっと重い処理はぼかしとか透明度、画像のブラシなど

• ただし、 Vista 以降に限る (WPF の場合 )

• WPF パフォーマンスhttp://msdn.microsoft.com/ja-jp/library/aa970683.aspx

Page 13: Performance Howto - TechAid2011

PERFORMANCE ANALYZER

• Event Tracing for Windows を使用した性能可視化ツール

• @ IT でも紹介しています ( 宣伝 )http://www.atmarkit.co.jp/fdotnet/chushin/vsperf_01/vsperf_01_01.html

Page 14: Performance Howto - TechAid2011

VISUAL STUDIO のプロファイラー• Visual Studio 2010 では Premium/Ultimate

Edition のみ• CLR Profiler は無償で使用可能

http://msdn.microsoft.com/ja-jp/library/ff650691.aspx

Page 15: Performance Howto - TechAid2011

SILVERLIGHT

• 残念ながら標準ではプロファイラー機能なし• 3rd party から Silverlight Spy 販売中 ( 有償版には

プロファイラー機能あり )http://firstfloorsoftware.com/blog/silverlight-spy-4/

• CLR ではないので CLR Profiler などは使えない

Page 16: Performance Howto - TechAid2011

まとめ• Visual Studio 以外全部無償で使えます。戦えます• @IT の記事もよろしくね!• TIPS も msdn サイトに載ってますよ。