スマートスタイル TECH BLOG|データベース&クラウドの最新技術情報を配信

マルチコアによるATPのパフォーマンス比較

はじめに

今回はOracle Autonomous Transaction Processing(ATP)のOCPU数(1,2,4,8)によるスループット(TPS)を確認してみました。
ベンチマークツールはJdbcRunnerを使用させて頂きました。
なお、実行する環境によって結果は異なるかと思いますので、ご了承ください。

ベンチマーククライアント

Shape CPU Memory
VM.Standard2.8 8OCPU(16vCPU) 120 GB

ベンチマークツール設定

  • JdbcRunner(Version1.3)を使用
    • 100 warehouse
    • 100 nAgents
    • ウォームアップ: 5 分
    • 計測時間: 30 分
    • テストキットは Tiny TPC-C とする
    • 5種類のトランザクションを実施(各トランザクションの実行比率は10:10:1:1:1)
    • グラフはNew-Order の値で作成する

構成

同一クライアント条件下での実行

1OCPU

Throughputの一番左の値が、New-Orderなので138.7 になります。

CPU使用率が100%で頭打ちになっています。

2OCPU

2OCPUでは284.6と約2倍のスコアになっています。

こちらもCPU100%で頭打ち

4OCPU

4OCPUでは601.2となっています。こちらも2OCPUから約2倍のスコアでした。

やはりここでもCPU使用率が100%となっています。

8OCPU

最後に8OCPUです。
スループットは1007.1となっており、ここでは4OCPUの2倍までは届いていませんでした。

ただCPU使用率に関しては70%程度でしたので、まだ上昇が見込めそうでした。

各ATPのグラフ

8OCPUでのCPU使用率上限確認

上記のテストでは8OCPUの時に、CPU使用率にまだ余裕があったので、クライアント端末を1台増やし、ATPの設定(CPU/IO shares)を8から16に変更して実行してみました。
CPU/IO Sharesはコンシュマーグループのリソース割り当ての割合を変更する値です。
今回は他のコンシュマーグループを使用していないのであまり意味はないのですが、念の為変更していました。

クライアント1

クライアント2

CPU使用率が100%張り着くまでは行きませんでしたが、おおよそ上限にきていると思います。
上記でクライアント合計のスループットは1111.2となっていました。
4OCPUに比べて1.8倍程の向上がみられました。


Oracle Cloud
Return Top