|
|
前のページ 1 2 3 次のページ
|
|
atimeの更新を止める
|
実は、ファイルシステムによるatimeの更新は止めさせることができます。Linuxのext3ファイルシステムであれば、マウント時にnoatimeオプションを与えることでそれが可能です。
もしもデータベース用に独立したファイルシステムを使っているのであれば、そのファイルシステムのマウントオプションにnoatimeを追加しましょう。これにより無駄なatimeの更新がなくなるので、データベースサーバの性能を向上できます。
|
mountコマンドの例
|
UNIX系OSにおいてファイルシステムを手動でマウントする場合には、下記のようなmountコマンドを用いていると思います。
|
mount /dev/sda1 /disk1
|
|
これに対して、下記のようにnoatimeオプションを与えてマウントすると、atimeの更新を抑制できます。
|
mount -o noatime /dev/sda1 /disk1
|
|
fstabの例
|
サーバマシンの起動時にファイルシステムを自動でマウントさせている場合には、マウントオプションは/etc/fstab(あるいは同等のファイル)に記述します。
下記はfstabの例です(抜粋)。Linuxの場合、4番目のカラムにマウントオプションを記述します。
|
/dev/sda1 /disk1 ext3 noatime 1 2
|
|
テスト用サーバマシンをチューニング
|
それでは、テスト用サーバマシンをチューニングしてみましょう。テスト用サーバマシンの仕様などは本連載の第1回の記事を参照してください。
テスト用サーバマシンではデータベース用に2台のSCSIハードディスク(/dev/sda1、/dev/sdb1)を使用していますが、ともにデータベース専用のファイルシステムとしていますので、両方にnoatimeオプションを指定することにします。指定後のfstabは次のようになっています(関連行のみ抜粋)。
|
/dev/sda1 /disk1 ext3 noatime 1 2
/dev/sdb1 /disk2 ext3 noatime 1 2
|
|
そしてサーバマシンを再起動して、noatimeのオプション設定を有効にすれば準備OKです。
|
チューニングの結果
|
それでは、データベースを格納するext3ファイルシステムにnoatimeオプションを指定した場合に、PostgreSQLの性能がどのように変わるのかを確認してみましょう。前回とまったく同じ条件でベンチマーク試験を行った結果が図1です。
図1:前回のチューニング結果とファイルシステム調整後の比較
負荷の高い場合に大きく性能が向上しています。このように、ファイルシステムの設定を変えるだけで10tps以上の性能向上が達成できました。
|
前のページ 1 2 3 次のページ
|
|
|
|
著者プロフィール
日本PostgreSQLユーザ会 片岡 裕生
1995年よりインターウィズという屋号で個人事業を営む。普段はPostgreSQLを用いたウェブアプリケーション開発などを行う。各コンピュータ情報誌にてPostgreSQL関連記事や連載を執筆。日本PostgreSQLユーザ会の創立メンバーの1人で、同会の技術担当理事、PostgreSQLのしくみ分科会座長を経て、2004年度からは理事長を勤める。
|
|
|
|