• 締切済み

パフォーマンスの測定

初歩的な質問ですみませんが、パフォーマンスを測定したいのですがどのようなメソッドを使えばよろしいでしょうか?調べた限りですと、java.sqlクラスのメソッドが使えそうですが、これってクエリー用のクラスですよね・・。一般的にパフォマーンスで時間を測定する時にどのような方法が使われるのでしょうか?

  • Java
  • 回答数3
  • ありがとう数3

みんなの回答

  • nori1976
  • ベストアンサー率60% (3/5)
回答No.3

java platform performanceの本で紹介している測定方法です。 ftp://ftp.javasoft.com/pub/performance/JavaPlatformPerformance.zip をダウンロード。stopwatchのソースがそれにあたります。

参考URL:
http://java.sun.com/docs/books/performance/
  • sasadora
  • ベストアンサー率68% (59/86)
回答No.2

どの程度の測定をやりたいのかにもよりますが、 ツールを使って本格的に計測するまでもないことならば、 そのときの現在時刻をログやコンソールに出力すればいいかと思います。 import java.util.Date; long start = new Date().getTime(); ....処理.... long end = new Date().getTime(); 経過時間は end - start (ミリ秒) ログに出力したいのであれば、log4jなんかを使えば、 簡単な設定で時間とともにログ出力できます。 http://www.ingrid.org/jajakarta/log4j/ Webアプリケーションのパフォーマンス計測でしたら、 JMeterというツールもあります。 http://www.ingrid.org/jajakarta/jmeter/

回答No.1

一般的には、下記のような(フリーのソフトは一杯ありますので、)HDBENCH NETのようなもので、測定します。 パーフォーマンスかベンチマーク 測定で検索すれば、ソフトは見つかりますよ。 よくPC雑誌などに、各パソコンのベンチマーク測定結果の比較などが、掲載されていますが、その時などにも、このようなソフトを利用しますので・・・ ご参考になれば・・

参考URL:
http://www.hdbench.net/
snuffy
質問者

お礼

ご返答ありがとうございます。 一般的にはデバッグで標準出力に出したり・・ということはやらないのですね。

関連するQ&A

  • Classの使い方で質問!

    Classの使い方で質問! Java超ビギナーなのですが、表題の件で、質問させてください。 例えば、次のようなメソッドの場合ですが、 public String getRows() { EntityManager em = emf.createEntityManager(); Query query = em.createQuery("select n from Rep3 n;"); query.setMaxResults(10); List<Rep3> result = (List<Rep3>) query.getResultList(); for (Iterator<Rep3> itr = result.iterator(); itr.hasNext();) { … Javaで、 このRep3とかいうクラスの代わりに、Rep2とかいうクラスを使いたいとか、 微妙に似ているItem1とかを使いたいとか、そのような場合、 メソッドを別に作る以外、 何か使い回しできるようなこのようなクールな方法があるんだよ!とか、 はたまた、 Javaの場合は、地味にメソッドを作るべきなんだよ!とか、 Javaに詳しいドナタか、 教えてくださいませ! よろしくお願い致しますm(__)m

  • パフォーマンスの改善策は?

    WINDOWS NT4.0+IIS+JRUNという環境でjavaで作成した業務系アプリのパフォーマンスを調査中なのですが、5台のクライアントから同時にアクセスすると1台の時より 3倍もの時間がかかります。ここで質問なのですが 最も時間をとっているのはDBへのコネクションを貼っているところなのです。このためコネクションプーリングを 用いるコードに改訂したのですが上記のパフォーマンス程度です。 (プーリングを用いる前はこの2倍かかっていました) パフォーマンスをあげるための改善方法として、効果的なものにどんなものがあるのでしょうか? ご教示ください。

  • CPU時間の測定

    任意のJavaアプリケーション内の特定の処理での実行時に消費したCPU時間を,そのJavaアプリケーション内部で測定するにはどのようにしたらよいのでしょうか(開始時と終了時の currentTimeMillis() の差分は実時間なので該当せず.アプリケーション起動時にシェルでtimeコマンドを呼ぶのも,外部からの測定であり,また,アプリケーション全体の測定になるので該当せず).C/C++ では clock() の差分で測定していたのですが Javaでの方法がわかりません.OSはLinuxです.

    • ベストアンサー
    • Java
  • どのクラスのメソッドか、をどう見極めるか。

    どのクラスのメソッドか、をどう見極めるか。 Java初心者です(教科書で学んで、実践はこれからというレベル)。 参考書やネット上の資料等に掲載されているコードを見ていますと、 import文(10文くらい)で沢山のパッケージをimportしているようなクラスを しばしば目にしますが、このようなクラス内で使われている沢山のメソッドは、 それぞれ、どこかのクラスに属しているメソッドであるかと思います。 これらのメソッドについて、その仕様を知りたいと感じた場合、 それらがそれぞれ、どのクラスに属するのかを突き止める必要があるかと思いますが、 その突き止め方について、どなたか教えて下さい。 (一般的に普及している方法で結構です。) 例えば、知りたいと感じたメソッド名をネット検索し、 そのメソッドが「Javaの組み込みクラス」のメソッドである場合には、 ネット検索でヒットするでしょうから、その検索結果を受けて、 そのヒットしたクラスと、import文の内容とを比較し、 ネット検索でヒットしたクラスが、そのメソッドの格納主であると確信できれば、 それをもとに、そのメソッドの仕様を知ることができますよね。 (自作・他作のメソッドと、名前がバッティングしているかもしれないことを考慮すると、 やや頭が痛くなる問題になりませんか?) ネット検索で辿る方法が、まず頭に浮かびましたが、 これよりも効率的な方法がもし何かありましたら、教えて下さい。 ただ、一方で、 仕様を知りたいと思っているメソッドが、 「Javaの組み込みクラス」のメソッドではなく、 自作(もしくは、他作)のメソッドであった場合、 検索してもヒットはしませんから、その場合には、 import文にある自作もしくは他作のパッケージをしらみつぶしで探していくことになるのでしょうか? 当然、そのメソッドは、同一パッケージ内にあるクラスのpublicメソッドである可能性もありますから、 同一パッケージ内のクラスの中も、しらみつぶしに探していくことになりますよね? 各メソッドがコメントで「○○クラスのメソッド」というように注意書きされてあれば、 このような苦労はないのでしょうが、ネット上のソースを見る限りでは、 そんな親切なコメントはまず期待できないように思います。 以上、まとまりのない質問ではありますが、アドバイスを宜しくお願い致します。 自分のこの疑問が見当違いの疑問でしたら、その時は、ズバリそれを指摘して下さい。

    • ベストアンサー
    • Java
  • PDOクラスのprepareメソッドについて。

    いつもお世話になっております。 PHP5.2.5 1|$conn = new PDO($dsn,~略~);   //データベース接続 2|$sql = "略";             //SQL文 3|$stmt = $conn->prepare($sql);   // PDOStatementオブジェクトを返す 4|$stmt->bindParam(~略~);     //プレースホルダに変数をバインド 5|$stmt->execute();         //クエリ実行 という、よくある流れにおいて、 4行目のbindParamメソッドは、PDOクラスのメソッドではなく、 PDOStatementクラスのメソッドだと思うのですが、 これを、$stmt-> で呼び出せているのが、どうしてなのかがよく分からずにいます。 3行目で、PDOクラスのprepareメソッドを使うことで、 PDOStatementオブジェクトが返されるため、 その返り値を受け取った「$stmt」によって、 「$stmt->bindParam」できているという感じでしょうか? ★まず、この私の考え方について、合っているか間違っているか、 お聞きしたいと思います。(質問1) //=================================================== 恐らく、上記の考え方は「合っている」のだと思うのですが、 その上で、さらに質問をさせて頂くと、 ではなぜ、PDOStatementクラスを使う時に、 new PDOStatement; というようにしないのでしょうね? PDOクラスの1メソッドであるprepareメソッドを使うようにして、 PDOStatementクラスをインスタンス化しているのはなぜなのでしょう? (prepareメソッドはどういうコードになっているのでしょう?その中で、new PDOStatement という記述があるのでしょうね?) PDOのこのような仕様の背景には、どういう意図があるのか、 どなたか何か思い当たることなどありましたらご助言下さい。 (質問2)

    • ベストアンサー
    • PHP
  • WEBサーバーのパフォーマンスをあげるには?

    WINDOWS NT4.0+IIS+JRUNという環境でjavaで作成した業務系アプリのパフォーマンスを調査中なのですが、5台のクライアントから同時にアクセスすると1台の時より 3倍もの時間がかかります。ここで質問なのですが IISの設定はインストールした際のデフォルトのままなのですが、パフォーマンスをあげるために設定を変更するところがあるのでしょうか? ありましたらご教示ください。

  • PHPとJSPのパフォーマンス

    JSPとPHPでどちらかでシステム構築するか迷っているのですが、皆さんのご意見を聞かせてください。 パフォーマンスについては一般的にJSPの方がすぐれているといいますが、私が実際に勉強した限りではPHPの方が高速だと感じました。 実際に、FireFoxのFasterfoxという拡張機能で測定したところPHPの方が高速でした。 CPUの使用率に関してはさほど差はでませんでした。 メモリを変えてみての速度もさほど差はでませんでした。 PHPに比べてのJSPはどのような点でパフォーマンスが優れているのですか? ちなみにシステムには無線LANを使わなくてはなりません。

    • ベストアンサー
    • PHP
  • 基本情報処理技術者 平成24年度秋 JAVA

    javaのプログラミングは長らくやっていない状態で、問題を解き始めましたが、 プログラムが追えず困っています。 初歩的な質問になってしまいますが、下記についてどなたか教えてください。 1.プログラム3のmainメソッドにて new TimerTest().test(); とありますが、mainメソッドが所属しているクラスはTimerTestですよね? 自クラスってnewしないといけないんでしょうか。 また、newしているのに、インスタンスをTimerTest型の変数に格納しなくていいのでしょうか。 2.プログラム3のtimeメソッドにて、 longTimer = Timer.createTime("long timer",..................) とありますが、これはプログラム2のTimerクラスのメソッドを呼び出していますよね? 他クラスなのに、newしなくても使えるんでしょうか。 Timerクラスがpublicだからnewしなくていいという解釈であっていますか? それともcreateTimerメソッドがstaticだからでしょうか? Timer.createTimeのTimerは、クラス名なのか、 createTimeメソッドの形名?なんでしょうか。 初歩的なところですみません・・・ この質問を見て「このあたりが理解できていない」というような感じ方がありましたら、 そこを勉強したいのでご教示お願いします。

  • JAVAの専門用語についての疑問です

    初歩Perl使いですが、JAVAをしないといけなくなったのでJAVAを勉強しています。 JAVAをやり始めて一週間くらいですが、疑問点というか漠然と?が浮かんだので質問します。 クラス メソッド インスタンス アクティビティ オーバーライド など様々な言葉が出てきますが、クラスやメソッドなど、JAVAに詳しい人数人に聞いても 「ガチッ」とした言葉が帰ってきません。サイトをたくさんみても、なんとゆーか漠然とした哲学っぽい事が書いてあって、自分の中で シャキーン! と理解ができなくてこまっています。 「おそらく こんな感じなんだろーなー」と漠然と分かる感じですが、JAVAの概念?のようなものが脳にほのかに漂う感じでソース組んでて精神的に非常に気持ち悪いです。 JAVAとは そういうものなんでしょうか? 1から10まで、しかっと把握するぜ!このプログラムは俺が動かしてるんだぜ! という考えはやめたほうがいいのでしょうか? JAVA使いの人を見ると漠然と漂う感じで組んであるみたいで、なんだか心がイーッとなってしまうのです、どなたかお助けください。

    • ベストアンサー
    • Java
  • 絶縁測定方法について質問です。

    絶縁測定方法について質問です。 マグネットの二次側で測定する理由がいまいちわかりません。 初歩的なことで申し訳ないですが、回答宜しくお願いします。

専門家に質問してみよう