2015年5月14日に開催された「PostgreSQLエンタープライズ・コンソーシアム」の活動報告会。そのレポートの第2回では、性能ワーキンググループの検証報告の後半をお伝えする。報告者は、引き続き日本ヒューレット・パッカード(日本HP)テクノロジーコンサルティング事業統括サービス統括本部オープンソース部の北山貴広氏だ。

 性能ワーキンググループは、仮想環境とコンテナ環境についても検証した。仮想化技術で利用したのは「KVM」、コンテナ環境は「Docker」だ。特に、まだ業務利用としては新しいDockerで検証した点は目を引く。

 検証報告はこの5月だったものの、Dockerによる検証は早くも2014年6月ごろにはワーキンググループ内で発案されていたそうだ。2014年6月というとまだDockerが話題になって間もないころである。

仮想化環境検証はクライアント数が増えると性能差が明確に

 仮想化環境で検証したのは「データベース性能への影響を調査する」(北山氏)のが目的。仮想化環境の検証は二つ。参照系と更新系で物理サーバーと仮想サーバーの性能を比較することと、仮想データベースの単独実行と同時に二つ実行したときの比較だ。

 一般に、物理サーバーと仮想サーバーでは物理サーバーの性能が良いとされる。問題はその性能差だ。どの程度まで性能低下を許容するかは用途によるのだが、サーバーの構成を考えるときに目安は欲しい。仮想サーバーの性能がどの程度低下するか検証した。

 検証用のハードウエアは、物理サーバーはCPU10コアにメモリー96Gバイト、KVMサーバーで稼働する仮想データベースサーバーも仮想CPU10コア、メモリー96Gバイトになるように割り当てた。KVMサーバー自体は24コアでメモリーは256Gバイトだ。仮想データベースサーバー2台分以上のリソースを持たせている。

 まず、参照系における物理サーバーと仮想サーバーの比較だ。物理サーバーは24クライアント、仮想サーバーは48クライアントのときにピーク性能が得られた。クライアントが10~30と少ないときは、物理と仮想で性能差が生じるものの、クライアント数が増えると性能差は縮まる傾向だったという(図1)。

図1●参照系で物理サーバーと仮想サーバーの性能を比較(出典:2014年度活動成果報告 PostgreSQLエンタープライズ・コンソーシアムWG1(性能WG)、以下同じ)
図1●参照系で物理サーバーと仮想サーバーの性能を比較(出典:2014年度活動成果報告 PostgreSQLエンタープライズ・コンソーシアムWG1(性能WG)、以下同じ)
[画像のクリックで拡大表示]