Curl ORB for Javaの性能がどの程度のものであるか、 jmeterを使ってテストしてみましょう。
Curl ORB for Curl 0.6には、性能テストを行うためのライブラリが用意してあります。
Curl ORB for Curlの中のパッケージ、 com.curlap.orb.client を使ってテストを行います。
Curl ORB for Javaはこちらから最新版をダウンロードしてください。
テストケースを作成する為に必要なモジュール
1.下記のパッケージを含むjarファイル。これらのパッケージはダウンロードした中の、curl-orb_0.6_beta_bin\java\client\libの中に入っています。
このjarファイルの中には、
・com.curlap.orb.client
・com.curlap.orb.common
・com.curlap.orb.io
・com.curlap.orb.type の4つのパッケージが含まれています。
2.curl-serializer.jar(curl-orb_0.6_beta_bin\java\web\WEB-INF\libの直下にあります。)
3.ApacheJMeter_core.jar(JMeter内のライブラリ)
4.ApacheJMeter_java.jar(JMeter内のライブラリ)
5.junit3.8.2.jar(JMeter内のライブラリ)
Apache JMeterは事前にダウンロードを行っておいてください。(Apache JMeterのダウンロードはこちら)
テストケースの作成
それでは、クライアント側から、サーバ側のサービスを呼び出すクラスを作成していきましょう。
まず、Eclipseを開き、[File]-[New]-[Java Project] を選択します。今回、プロジェクト名はjmeter-testという名前にします。(JREのバージョンは、1.5に設定します。)
次に、プロジェクト内にフォルダを作り(今回はlibという名前にしました)、そこに
・curl-orb-client.jar(先ほど作成したjar)
・ApacheJMeter_core.jar
・ApacheJMeter_java.jar
・junit3.8.2.jar
を追加します。
追加したら、プロジェクトを右クリックし、コンテキストメニューから[Properties]-[Java Build Path]から[Add JARs]を選択し、先ほどlibに追加した3つのjarファイルを追加します。
(結果のイメージ)
まずは、簡単なテストケースを作成してみましょう。
プロジェクトを右クリックし、コンテキストメニューから、[New]-[Package] を選択し、testという名前のパッケージを作成します。そのtestパッケージを右クリック、コンテキストメニューから、[New]-[Class] を選択します。名前をTestSamplerとし、superclassにはAbstractJavaSamplerClientを指定します。
作成されたクラスを選択してみますと、中には runTest というメソッドが一つ作成されています。
Apache JMeterでは、このrunTestの中身が実行されます。
それではこの中に、テストケースを書きます。
まずは、クイックスタートの最初に作成したHelloクラスのsayHelloメソッドを呼び出すテストを作成します。
ちなみに、呼び出すクラスは下記のようなクラスです。
package com.test; import com.curlap.orb.security.RemoteService; @RemoteService // constructor // methods |
TestSampler.java
package test;
import junit.framework.Assert; import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; import com.curlap.orb.client.HttpSessionClient; public class TestSampler extends AbstractJavaSamplerClient { public SampleResult runTest(JavaSamplerContext arg0) { } |
Apache JMeterへのテストケース追加
TestSampler.javaを作成しましたら、このテストケースをApache JMeterへ追加します。
コンテキストメニューから[Export]-[JAR file]を選択します。テストケースのみExportしたいので、testパッケージのみ選択した状態でExportします。今回名前はorb-test.jarとしました。
次に、テストケースとテストに必要なモジュールを JMeterの lib\ext直下 にに追加していきます。
テストに(JMeterの lib\ext直下に)必要なモジュール
・curl-orb-client
・curl-serializer.jar
テストに必要なモジュールは、一度追加するだけでOKです。
では、実際にApache JMeterを立ち上げてテストを行いましょう。
Apache JMeterでのテスト
JMeterの bin フォルダの直下の jmeter.batをクリックしJMeterを立ち上げます。
テストケースを右クリック、コンテキストメニューから、[追加]-[スレッドグループ]
スレッドグループを右クリック、コンテキストメニューから、[追加]-[サンプラー]-[Javaリクエスト]を選択します。
あとは、このテストケースを保存し、実行します。
*サーバ側で、curl-orb-server.warという名前でorb-serverのwarファイルが展開されており、Tomcatが起動しているか確認して下さい。
無事に動いていれば、test finishの文字がJMeterのコンソールに表示されます。