【コラム】
今回と次回は、データベースを導入する上で、誰しも気になるであろう性能の評価について考えてみたい。つまり、意外と知られていない「ベンチマークテスト」のやり方である。対象とするデータベースは、先頃晴れて8.0がリリースされたPostgreSQLと、世界のデファクトスタンダードにならんとするMySQLの2つ。商用データベースの場合、ベンチマーク結果の公表がライセンス上認められていなかったりするようだが、上記2つのオープンソース・ソフトウェアではそんな心配も要らない。まず今回は、石井達夫氏作のベンチマークツール「pgbench」を使って、PostgreSQL8.0の性能を計測してみよう。なお、例によって使用する環境はメモリ128MBの低速なCeleronマシン。OSはFedora Core 3である。
データベースのベンチマークテストといっても、その手法は様々だ。一般的に有名なのは「TPC(Transaction Processing Performance Council)」が定義している「TPC-x」というベンチマークだろう。頻繁に目にするのは、物流業務のOLTPを模した「TPC-C」や、大規模な意志決定支援シミュレーションによる性能評価を行う「TPC-H」といったものだが、pgbenchはオフラインバッチ処理的なストレステストを指向する「TPC-B」ベンチマークを参考に開発されたものだ。TPC-B自体は既に"obsolete"、つまり"廃止"扱いになっているが、pgbenchはPostgreSQLの性能を測る際に必ずといっていい程使われている定番のプログラムだ。
では、早速導入して動かしてみよう。pgbenchはPostgreSQLのソースコードと一緒に配布されているので、あらためて入手する必要はない。ソースツリーのcontrib/pgbenchディレクトリに移動し、データベース管理者(一般的には"postgres"アカウント)の権限でコンパイル、インストールを行うだけで導入できる。
導入が済んだら、ベンチマーク用のデータベースを用意しよう。通常通りデータベースを作成し、pgbenchに"-i"オプションを渡して初期化処理を行う。
これでbenchデータベースにはテストデータが作成され、ベンチマークテストの準備が整った。テストの実行は非常に簡単。pgbenchにデータベース名を渡すだけだ。
pgbenchのデフォルトは、クライアント数が1、実行トランザクション数が10に設定されている。つまり、簡単に言えば「1つのクライアントから10個の処理を実行する」ことをシミュレートしてくれるわけだ。そして、結果は以下のように表示される。
最後の2行に注目しよう。「tps」は「Transaction Per Second」の頭文字で、1秒あたりに処理可能なトランザクション数を表す。この数値が大きければそれだけ高い性能が発揮できている、ということだ。ついでに一応念のため説明すると、2行あるのは接続の確立に要した時間を含める/含めないの違いである。
pgbenchは複数クライアントからの接続をシミュレートしたり、処理するトランザクションの数を増やして、より大きな負荷をかけたりといったこともできる。クライアント数は"-c"オプション、各クライアント毎のトランザクション数は"-t"オプションで指定可能だ。以下の例は、10クライアントが50ずつのトランザクションを発行することを想定したテストである。
TPC-B(というかpgbenchのデフォルト)では、SELECT、INSERT、UPDATEを発行しているが、"-S"オプションを指定することでSELECTのみのテストを行うことも可能だ。PostgreSQLを検索系中心の用途で利用する場合なら、こちらのテスト結果の方が有益だろう。
次回は同様のテストをMySQLでもやってみることにする。
| マイナビ、3月より書籍連動型のクリエイティブ・デザイン系セミナー開講 [12:00 2/10] |
| Linux Mint 12 KDE登場 [10:26 2/10] |
| Dell、重複排除により最大98%のデータ削減が可能なバックアップストレージを発売 [09:44 2/10] |
| 北大、「ポジトロン断層撮影法」による脳腫瘍の性質を診断する手法を開発 [09:40 2/10] |
| NICTなど、手術支援ロボット「da Vinci」の3D裸眼映像伝送実証実験を計画 [09:36 2/10] |
|
山陽トランスポート、自由自在にノートPCを設置できるフレキシブルスタンド [14:11 2/10] パソコン |
|
AMD FX-6100やRadeon HD 6850を備えたゲーミングBTO「Storm Power Gamer-A」 [14:00 2/10] パソコン |
|
三菱、「アウトランダー」の新型をジュネーブにて世界初披露 [14:00 2/10] ライフ |
|
【コラム】新・OS X ハッキング! 第34回 オープンソースの「Apple Lossless」を念入りに検証する [13:59 2/10] パソコン |
|
【レポート】CP+2012 - Wi-Fiや「ビューティレタッチ」の体験コーナーを展開 -パナソニック [13:51 2/10] 家電 |