ベンチマークあれこれ [Database]
現在色々あってTPCについて紐解いています。
昔の部署(Oracleデータベースのサポート部門)に居たときもTPCライクなベンチマーク測定は
やっていたのですが、今は各ベンダーが使っているクライアントプログラムに現在興味の方向性を
定めて色々調べています。
さてTPCについて簡単に説明を。
TPCとはTransaction Processing Performance Councilの略で
(TPPCじゃないか!!)
平たく言うとデータベースのベンチマークの結果をとりまとめています。
といってもベンチマークと一言で言うと色々あるので、業務モデルを想定して
あとはハードベンダーごと、データベースベンダーごとに測定、
ということになっています。
また結果についても分あたりのトランザクション量やトランザクションあたりの価格などの
指標があり、Oracleは~~の分野でSQLを圧倒!とかSQLはhogehogeで世界一!
といった謳い文句は随所で見られます。
業務モデルは私が知っているものは2種類。
TPC-CとTPC-H。それぞれがOLTPとDWHと異なる性質を持っています。
ただ実際のサーバサイジングに使える値なのかというとそれは疑問です。
ベンチマーク用にカリカリにチューニングして測定するものですし、
実際TPCも
Extrapolations to any other environment are not recommended.
(他の環境に外装するのはあかんね)
と言っているので推して知るべし。
私が今調べているのはTPC-Cのクライアントです。
クラサバなのか、WEBなのか、C++なのか、C#なのかなどなど
詳細レポートを読みながら学んでいます。
皆さんベンチマークを実際にやるとき何が一番大変ですか?
私が一番大変だと思うのは測定でも、解析でも、レビューでもありません。
ハードの調達です。
ある程度ちゃんとやるとかなり大型のものが必要となることが多いです。
サーバよりも大変なのがストレージ、特にHDDそのものです。
HDDは消耗品なのでなかなかベンダーも貸してくれません。
しかも測定しているときにI/Oネックになろうものならさらに追加で
ファイバーやFCスイッチの接続、追加のRAIDグループなどそれはそれは大変でした。
実行前には十分余力のある機器調達をしておきましょう。
コメント 0