コードジンのヘッダーが入ります Developers Summit 2009

マイクロソフト株式会社

【12-D-4】Visual Studio Team System 2008 によるパフォーマンス チューニング
マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 西拓生 ロバート

ITが企業のビジネスにとって不可欠な基盤となるなか、システムのパフォーマンスに関わる要件がさらに高まっている。ソフトウェア開発の局面においても、アプリケーションライフサイクル全体を通じて、パフォーマンスを意識した取り組みが求められているのだ。マイクロソフトの提供する「Visual Studio Team System 2008」では、各種ツールの提供により、そうした取り組みを強力に支援している。


アプリケーションライフサイクルを通じてのパフォーマンスを意識した取り組みが不可欠

ソフトウェア開発時におけるパフォーマンスチューニングは、リリースしたソフトウェアの稼働に起因して、システム環境のパフォーマンスが低下してしまうといった事態を防止するための対応策となるものだ。ただし、闇雲にコードを変更したり、単なる推測によってボトルネックを探すという方法では、当然のことながら十分な効果は得られない。

これに対しマイクロソフトの西拓生 ロバート氏は「アプリケーションライフサイクル全体を網羅した形で体系化した『パフォーマンスフレームワーク』に基づき、開発者はもちろん、アーキテクトやテスターといった各ロールの担当者を巻き込みながら、対処方法の検討、優先度付けを行って取り組みを進めていくことが重要です」と強調する。

特に一連のアプリケーションライフサイクルの中でも、パフォーマンス問題に関して最重要のアクティビティとなるのがテストだ。テストは、その実行タイミングによって大きく「リアクティブ」と「プロアクティブ」の2つに分類できる。リアクティブテストはシステム開発後や展開時、あるいはユーザーからのフィードバックを受けた際に実施するものであるのに対し、プロアクティブテストは設計段階も含め、開発途上で随時実行するものだ。

「パフォーマンスの問題は、その顕在化が後工程になればなるほど、再設計などに要するコストが上昇するなど、リスクが膨らんでいくことになります。これに対し、プロアクティブにパフォーマンステストを実行し、計画性のあるチューニングを実施することで、そうしたリスクを軽減でき、さらにはチューニング自体を容易にすることにも繋がります」と西氏は言う。
  一方、そうした形でパフォーマンスを意識した開発とテストを継続的に実施していくのに際して、パフォーマンス目標値を明確に設定しておくことが重要な前提となる。これについては、入力を与えられてから反応するまでにかかる「応答時間」、単位時間における処理数である「スループット」、サーバやネットワークに関わる「リソース利用」、ユーザー数、データ量、トランザクション量などの「ワークロード」という4つの点を見据えたものでなければならない。

各種テスト・解析ツールの提供でパフォーマンスチューニングを支援

以上のようなライフサイクル全体を通してのパフォーマンスに関する取り組みを強力に支援しているのが「Visual Studio Team System 2008」(VSTS)だ。「特にパフォーマンスに関しては、Development EditionおよびTest Editionにおいてチューニングに必要な各種機能が提供されており、正確なテストを実施することが可能になります」と西氏は紹介する。

特にDevelopment Editionの提供するパフォーマンスツールでは、「サンプリング」および「インスツルメンテーション」という2つのプロファイル方法をサポートしている。前者は、プログラム実行時のスナップショットを定期的に取るもので、長期シナリオでの実行やCPUがボトルネックとなっていることが明らかなケースで、CPUを最も多く使用している関数を特定することが可能。一方、後者は対象プログラムに診断プローブを挿入してバイナリから呼び出される外部関数についてのデータを収集するもので、CPU負荷のみでは判断しづらい問題を検証する際に役立つ。

最後に西氏は「計画的なパフォーマンスチューニングの実践は、高品質のアプリケーションの実現、コスト削減、さらには開発生産性の向上にも貢献するものです。VSTSを活用して、ぜひ積極的に取り組んでいただきたいと思います」と語り、セッションを締めくくった。

図1:パフォーマンスフレームワークの概要。このようにパフォーマンスに関わる問題をアプリケーションライフサイクル全体を網羅した形で体系化し、取り組みを進めていくことが重要
問い合わせ先
マイクロソフト株式会社
マイクロソフト カスタマー
インフォメーション センター
TEL: 0120-41-6755
(9:30~12:00/13:00~19:00 土日祝日、弊社指定休業日を除きます)

戻る
コードジンのフッターが入ります