Pay as you grow使用時のCPUスケーラビリティ検証
今回検証するのは、Oracle Database Applianceの目玉とも言えるPay as you growです。Oracle Database Applianceには1サーバーあたり6コアのCPUが2基搭載されていますが、Pay as you growによって実際に使用するコア数を制限することで、ライセンスのコストを大幅に抑えることができます。
このPay as you growによって、少ないコア数でスモール・スタートし、稼働状況をみてコアを増やすというこれまでにない運用が可能になります。
例えば、利用者数の増加が予測できないような新規のシステムや、順次複数のシステムを統合していくような場合に効果を発揮します。
しかし、コア数に応じてライセンスのコストが増えるため、効果が見込めない限りは追加の投資を行うことができません。そこで今回は、Pay as you growでコア数を増やした場合の効果を検証してみます。
検証方法
Javaのアプリケーションからオンライン・トランザクション(OLTP)系の処理を実行し、Oracle Database Applianceのコア数を2,4,8,10,12と増やした場合のスループットとCPU使用率を計測します。
今回実施するOLTP系の処理は、100~1,000セッションが同時にSQLを実行するため、CPUに大きな負荷が掛かります。こうした状況下であれば、コア数を増やした場合の効果が顕著に表れるはずです。
検証結果
まずは、CPUコア数とスケーラビリティの関係から見ていきます。
Pay as you growの最小構成である2コアの場合、セッション数が200になった時点で処理が頭打ちになっていることが分かります。つまり、秒間350トランザクションあたりが2コアの処理限界点ということになります。
このように処理限界を迎えた場合にPay as you growによるコア数の追加が検討されることになります。検証結果を見ると、4,8,10,12とコア数を増やした場合に処理限界点が何倍にも引き上げられていることが分かります。
12コアの場合は1,000セッションでもまだ処理限界点が見えず、秒間2,000トランザクションに迫る数値を記録しています。コア数を増やしたことによる効果がはっきりと見て取れます。
続いてCPU使用率を見ると、コア数を増やすにつれて%userの割合が減少し、代わりに%idleの割合が上昇しています。コア数を増やしたことで、CPUに余裕が生まれています。
検証の結果、Pay as you growでコア数を増やすことで、リニアに処理性能が向上することが確認できました。当たり前の結果かもしれませんが、コア数はデータベース・システムの性能とコストを決める重要な要素なので、Pay as you growによって選択肢が広がるというのは、Oracle Database Applianceならではのメリットだと言えます。