運用環境として確実に増えている仮想化での性能比較を実施
2014年度は「性能WG」「移行WG」「設計運用WG」の3つが設定された。性能WGでは、大規模データベースの運用を見据え、2014年12月にリリースされた最新版「PostgreSQL 9.4」の性能検証を行っている。9.4と前バージョン9.3の性能比較では、参照系に加え今回は更新系についても性能検証を行った。
そして、これまでは大規模サーバーを使った検証が中心だったが、今回は利用シーンも増えている仮想化環境での性能検証も実施している。性能検証のために選択した仮想化環境は、Linuxカーネルに備わっている仮想化機能「KVM」と、最近にわかに注目を集めているコンテナ型仮想化技術「Docker」だ。
9.3と9.4の比較では、参照系の性能は基本的にあまり大きく変わらなかった。更新系はロック処理の改善が寄与しているようで、大規模なテーブルの更新処理などで性能が上がっている。とくに高負荷環境下では9.4のほうが有利という結果が出た。
仮想化の性能検証においては、CPUコア数などが同じマシン構成でKVMの仮想化を使う場合と物理構成での比較を行った。参照系処理では性能差は15%なのに対し、更新系処理では性能差は40%と大きくなったとのこと。またDockerの場合は、参照系でデータベースファイルをDockerの外に置くようにすれば、物理との大きな差がないことが確認されている。更新系ではDockerのファイルに書き込むような構成にしてしまうと、性能はかなり落ちる。これはある意味予想通りの結果で、DockerでPostgreSQLのようなデータベースを利用する際には、永続性だけでなく性能面からもデータファイルは外に置くようにすべきことが改めて確認された。