2005-10-25 [長年日記]

[Java] バイナリ コア ファイルの分析

BEAのサポート診断パターンの一つ。ためになります。

ベンチマークの活用方法

面倒くさいことに、仕事でベンチマークの有効活用について考えることになった。現段階での自分の考えをメモ。

ベンチマークの目的は色々あるが、大きくは以下の3点かと思われる。

P1.最高性能を叩き出し、セールスポイントとする
P2.システムの見積もりの参考とする
P3.性能特性を見極め、ボトルネックになりやすい箇所を明確にする

さて、上記目的に対して世の中のベンチマークソフトには、大きく分けて以下の2種類がある。

B1.ある業務を模した総合ベンチマーク
B2.特定機能に特化した簡易ベンチマーク

B1の代表的な物はSPECjAppServer等。TPC-W等のベンチマーク仕様もB1。一方B2.は色々で多岐に渡る。JVMベンチマークとかも含まれるかも。

さて、B1やB2は上記目的を達成できるだろうか?まずB1から見ていく。

  • B1はP1には使えるだろう。測定結果を比較することにより、性能差が明確になる。
  • B1はP2には少しだけ使える。ベンチマークソフトで良い結果が出ているのに、いざ実システムになった途端に性能が出ない、なんていうのは良く聞く話。結局アプリケーションの作りによって性能は大幅に変化するので、このような事態になる。ベンチマークの結果を意味を考えずにそのまま見積もりに使うのは、とても危険。そして結果の意味については、総合的であるが故に良く分からない事が多い。意味さえ把握しておけば、参考値にはなる。
  • B1はP3にも使えない。総合的であるが故に、ボトルネックは解析しづらい。

一方B2はどうだろう?

  • B2はP1には使えない。最高性能を出したところで、測定対象の一面を切り出しているに過ぎない。
  • B2はP2には少しだけ使える。一面だけしか切り出していないので他にボトルネックがある可能性を考慮すると使えないような気がする。しかし「これ以上は出ない」という値にはなる。
  • B2はP3には使えるだろう。ボトルネック部分の性能特性を見極めるため、この手のツールは必要。

さて、P2に対してはどちらも決定打とはならない。P2を達成することのできるベンチマークツールってどんなものだろう?

PostgreSQL 8.1の便利な新機能

石井さんの記事。

おぉー本当に便利だ!DB内部情報が色々と取れることで、監視周りが一気に充実しそう。

気になるパラメータO_DIRECTもあるし、性能はものにより1.5倍くらい速いとか言うし、今までのPostgreSQLは何だったの!?という感じ。

MySQL5.0も出たみたいだし、OSS DBMSは熱いですね。

本日のツッコミ(全1件) [ツッコミを入れる]
_ quitada (2005-10-26 13:54)

core ファイルからは、何もわからないことがわかりますよ。ぐはー。

[]

«前の日記(2005-09-30) 最新 次の日記(2005-11-01)»