PostgreSQL 8.1

ここ1週間はPostgreSQLのパラメータチューニングをしていました。
pgbenchを使って本番で使う8.0.4をメインにやっていました。チューニングが終わったので、ついでに速くなっていると評判の8.1beta3でpgbenchをやってみました。本当に速いです。pgbenchのスケーリングファクタ100での結果ですが、8.0.4のときの4〜5割増しです。チューニング後の結果ですが、32クライアントで1500tpsくらい出ています。
シーケンシャルスキャンの性能も見たかったので、スケーリングファクタを1にして、インデックススキャンとビットマップスキャンを無効にしたときの状態も調べました。結果は8.0.4の5〜7割増しくらいです。30tps近く出ています。
ちなみに、仮想CPUが6個、メモリが6GB、FC接続のストレージで行っているので基本性能がかなり良いマシンでの結果です。
8.1系列が安定したら、もう8.1に切り替えたいですね。現状ではまだバグがあるので本番には使えませんが。pgbenchをかなり激しくやっていたらpostmaster側がエラー吐き出したのでちょっとびびりました。全然検証をしていないのですが、データベースのデータが壊れた感じでした。pgbench用のデータベースを作り直したら復活できたので。時間に余裕があったら、再現条件の確認とデバッグおよびバグレポートの作成をしたいところでしたが、余裕がないのでしませんでした。ああ、だめだめだ。