Javaから見た.NET
連載インデックスへ
番外編

Visual StudioでのJava負荷テストをJMeterと比較してみた


株式会社アークウェイ
黒石高広
2011/1/6


Visual Studioを利用したJava負荷テストのやり方

 本稿ではサンプルとして、Java開発者にはおなじみの「Java Pet Store」(バージョン 1.3.2)に対してVisual Studio 2010の負荷テスト機能を利用してみる。

 なお今回は、「Java Pet Store」のWebコンテナをサーバ上でコマンドラインから実行し、Visual Studioで負荷テストを実行するクライアントを「Java Pet Store」と同一のマシンで実行している。

Webアプリへの操作を記録

 まず、Visual Studioを起動し、テスト用プロジェクトを1つ作成する。プロジェクト作成後、Visual StudioのメニューからWebパフォーマンステストを作成すると、自動的にInternet Explorerが起動するので、そのままWebアプリケーション上でいくつかの操作を行う。

 すると、Internet Explorerの「Webテストレコーダー」アドインにWebアプリケーションに対する操作が、そのまま記録される。Webブラウザを終了すると、それらの操作が作成したWebパフォーマンステストの記録が保存される。


負荷テストを実行

 次に、Visual Studioの同じテストプロジェクトに対して負荷テストを作成する。すると、負荷テスト作成のウィザードが起動するので、このウィザード上で前述のWebパフォーマンステスト機能を使用するように設定する。


 そのほか、負荷テストを行う同時ユーザー数やネットワーク形態やWebブラウザの割合、負荷テストの計測時間などを設定する。

 Visual Studioのメニューから負荷テストを実行すると、設定に従って負荷テストが実行される。負荷テスト実行後は、Visual Studioにそのまま負荷テストの実行結果が表示されるので、この実行結果を分析しアプリケーションのボトルネックを探し出すことになる。

 ここまでの操作は、主にInternet Explorerの操作とVisual Studioのメニュー操作が中心となるため、C#などの.NETの知識がなくても簡単に負荷テストができる。もちろん、.NETの知識があれば、さらに高度な負荷テストのカスタマイズも可能だ。

JMeterとの違い

 本稿で紹介したようにVisual Studioの負荷テスト機能を利用すれば、Javaアプリケーションに対しても負荷テストが可能である。もちろんPHPやRuby、PerlなどのJava以外のWeb技術に対してもこの負荷テスト機能を使用できる。

 最後に、Visual Studio負荷テスト機能とJMeterとの違いについて分析しておこう。2つのツールの1番大きな違いとしては、CPU使用率などのデータとの比較の容易さにある。

 通常、負荷テストではWebサーバ側のCPU使用率やディスクアクセス数などを計測する必要がある。JMeterを使用する場合、それらのデータは別のツール(Windowsであれば、タスク マネージャのパフォーマンスモニタ)を使って計測することになる。当然、JMeterでのテスト結果のデータをExcelなどで突き合わせる必要が生じ、分析に手間が掛かってしまう。

 その点Visual Studioを使用した場合、Webサーバ上のCPU使用率やディスクアクセス数などのデータも自動的に収集できるため(サーバ側がWindowsであることが前提となるが)、簡単に負荷テスト結果のデータと比較し、分析できる。

 JMeterには無償で使用できるという大きな優位点があるが、Visual Studio負荷テスト機能には有償ツールならではの、大規模な負荷テストの準備機能や、総合的なデータ分析の容易さなどの優位点がある。

 「Visual Studioは.NET専用のツールだから……」そんな偏見は一度捨ててみて、JavaアプリケーションであってもVisual Studioの負荷テスト機能を一度試してみてはいかがだろうか。

@IT関連記事


Team Foundation ServerでJava開発は大丈夫か?
ユカイ、ツーカイ、カイハツ環境!(18) 
.NET開発用の構成管理ツールと思われがちだが、Eclipseプラグインを使えばJavaやPHPでも使えます。Trac Lightningとの比較も
Java Solution」フォーラム 2010/11/24
AzureのストレージをJavaで扱えるWindowsAzure4j
ユカイ、ツーカイ、カイハツ環境!(14) 
AzureストレージサービスのデータをJavaから参照・更新・削除するプログラムや、そのための無料Eclipseプラグインの使い方を紹介
Java Solution」フォーラム 2010/4/15
EclipseでJavaとXAML/WPFをつなぐフレームワーク
JavaにおけるRIAの選択肢の1つとして.NETを使う!? 
開発者もデザインを要求されるRIA時代、Java開発者はどうするべきか? 答えの1つとして無料のフレームワークを紹介
Java Solution」フォーラム 2008/3/27
.NETでもEclipseを使ってみる
.NET Tools
 Javaの世界では絶大な人気を誇る開発環境Eclipseだが、C#用のプラグインを使えば.NETの開発も可能らしい。果たしてどの程度のものなのか、実際に試してみた
Insider.NET」フォーラム 2004/8/7

1-2

 Index
番外編 Visual StudioでのJava負荷テストをJMeterと比較してみた
  Page1
Visual Studioは.NETだけの開発ツールではない
Visual StudioのWebアプリ向け負荷テスト機能とは
Page2
Visual Studioを利用したJava負荷テストのやり方
JMeterとの違い

Javaから見た.NET

プラットフォーム/実行環境やプログラミング言語、開発環境/ツールについて基本的な仕組みから最新の傾向まで比較し共通点/相違点を整理します

最終更新 2010/8/27

Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

Java Agile 記事ランキング

本日 月間
ソリューションFLASH