2007年度JPUG合宿チューニング大会まとめページ
2007年度JPUG合宿(2008年2月23,24日開催 佐賀県嬉野温泉)で行われた恒例のチューニング大会の内容と結果のまとめです。
環境
以下のマシン上で行われました。Sun Fire X4100 (3台)
2.8GHz AMD Opteron 254 (1MBキャッシュ) x 2、
16GBメモリ、
73GB 10000回転SASディスクドライブ x 2、
DVD-ROMドライブ、AC電源(100V) x 2、
OSにはSolaris 10最新版(8/07 update4)をインストール
(以上、サン・マイクロシステムズ株式会社様より貸与いただきました)
PostgreSQL 8.3.0(ソースからコンパイル)
課題
pgbenchにて以下のベンチマークテストを実施し、その結果(TPS:接続コストなし)を3チームで競う。結果発表時間に「次に実行するのを記録とします」と宣言したうえで、環視のもと実行した結果が記録となります。ベンチマークテストは昨年度の合宿で用意したTPCBLOGを若干変更したもので、テーブル定義、データ生成、トランザクション1~4まで4種類が定義されています。会員が10万人いるSNSサイトを想定しています。pgbenchに4種類のトランザクション指定ファイルを与えて「-t 100 -t 10」のオプションで実行します。
インデックス作成削除、テーブルのディスク再配置、PostgreSQL設定ファイル変更、OS設定変更、PostgreSQLのコンパイルオプション変更を行ってチューニングを行います。逆にベンチマーク用のSQL、pgbenchでの接続数、接続あたりトランザクション数を変えてはいけません(fsync=offも暗黙ルールにより禁止 - このあたりはいい加減であった)。
結果
最終成績は以下の通りです。Aチーム:1003.98 tps
Bチーム:986.61 tps
Cチーム:本番計測時にトラブルにつき棄権
結果、Aチームの優勝となりました。なお、本番前の結果ではBチームの方が好成績で、安全性について保守的な設定になっていることから、チューニングに勝ったのはBチーム(勝負に勝ったのがAチーム?)といえるかもしれません。
各チームの設定ファイル等はこれから追記していきます。