Forum Stats

  • 3,769,410 Users
  • 2,252,962 Discussions
  • 7,875,023 Comments

Discussions

ADB HOL #5-3 : OLTP系処理の実行、自動スケーリングの理解

TakeshiNagakubo-Oracle
TakeshiNagakubo-Oracle Posts: 18 Employee
edited May 28, 2021 12:35AM in Social Groups

る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

>ADBコンテンツ一覧に戻る

Oracle Exadataをベースに構成されるAutonomous Database(ADB)は、分析系の処理だけでなく、バッチ処理、OLTP(オンライン・トランザクション)処理といった様々なワークロードに対応可能です。

この章ではOracle Databaseのベンチマークツールとして利用されることの多いSwingbenchを利用し、OLTP処理をATPで動かしてみます。

併せて、データベースの負荷状況に応じて自動的にCPUをスケールさせる、自動スケーリング(Auto Scaling)の動作を確認します。

作業の流れ

  1. Swingbenchをセットアップしよう
  2. Swingbenchのデータを確認しよう
  3. Swingbenchを実行し、OCPUをスケールアップしてみよう

所要時間 : 約50分


1. Swingbenchをセットアップしよう

 

まずはSwingbenchを仮想マシン上にダウンロードし、ベンチマーク・データをADBインスタンス内に生成しましょう。

参考情報)

     http://www.dominicgiles.com/blog/files/c84a63640d52961fc28f750570888cdc-169.html


1. Tera Termを起動し、仮想マシンにopcユーザーでログインします。

2. oracleユーザに切り替えます。

$ sudo su - oracle


3. 作業用ディレクトリに移動します。

$ cd ~/labs/swingbench


4. Swingbenchをダウンロードします。wgetもしくはcurlコマンドをご利用ください。(数分程度かかります。)

$ wget http://www.dominicgiles.com/swingbench/swingbenchlatest.zip 
  もしくは
$ curl http://www.dominicgiles.com/swingbench/swingbenchlatest.zip -o swingbenchlatest.zip

5. 展開します。

$ unzip swingbenchlatest.zip

6. (必要に応じて)念のためSQL*Plusでログインできることを確認します。

$ export TNS_ADMIN=/home/oracle/labs/wallets
$ sqlplus admin/Welcome12345#@atp01_tp
SQL> exit

7.  データ生成用のスクリプトを編集・実行します。

7-1. vi で 1install.sh を開き、内容を確認、必要に応じて編集ください。特に以下に示した赤字の箇所に誤りがないかご注意ください。

$ vi 1install.sh

【1install.shの内容 】

#!/bin/sh
./swingbench/bin/oewizard -cf ~/labs/wallets/Wallet_atp01.zip \
     -cs atp01_tp \
     -ts DATA \
     -dbap Welcome12345# \
     -dba admin \
     -u soe \
     -p Welcome12345# \
     -async_off \
     -scale 5 \
     -hashpart \
     -create \
     -cl \
     -v

7-2. ファイルに実行権限を付与します。

$ chmod +x 1install.sh

7-3. スクリプトを実行し、データを生成します。

$  nohup ./1install.sh &

     ADBインスタンス内にSOEスキーマが作成され、その中にSwingbenchで利用するオブジェクト、データが作成されます。
     データ増幅処理の処理時間短縮化のために、出来ればOCPU数は多めに設定ください。(状況に依存しますが、OCPU=4の場合、2、30分程度。)
     またデータ生成には多少なり時間を要するため、nohupコマンドを利用します。こうすることで、仮想マシンとのネットワーク通信が万が一切断されたとしても、仮想マシン上で本スクリプトの実行を継続することが可能です。

7-4. 実行状況の確認します。

$ tail -f nohup.out

7-5.  以下のようにSchema Created が表示されたらデータ増幅の処理は完了です。CTRL + C で nohupコマンドを終了してください。

pastedImage_7png


2. Swingbenchのデータを確認しよう


次にセットアップしたデータに問題がないか確認します。

1. Tera Termを起動し、仮想マシンにログインします。

2. oracleユーザに切り替えます。

$ sudo su - oracle


3. 作業用ディレクトリに移動します。

$ cd ~/labs/swingbench


4. vi で 2-1check.sh を開き、内容を確認、必要に応じて編集ください。

$ vi 2-1check.sh

【2-1check.shの内容 】

1つ目の処理:val 生成したオブジェクト数を確認します。

2つ目の処理:stats 統計情報を取得しています。Autonomous Databaseでは統計情報を自動取得していますが、ここではSwingbenchのセットアップマニュアルに従い実行しています。

3つ目の処理:各表の件数を確認しています。

#!/bin/sh
./swingbench/bin/sbutil -soe -cf ~/labs/wallets/Wallet_atp01.zip \
     -cs atp01_tp -u soe -p Welcome12345# \
     -val
./swingbench/bin/sbutil -soe -cf ~/labs/wallets/Wallet_atp01.zip \
     -cs atp01_medium -u soe -p Welcome12345# \
      -stats
./swingbench/bin/sbutil -soe -cf ~/labs/wallets/Wallet_atp01.zip \
      -cs atp01_medium -u soe -p Welcome12345# \
     -tables

5. ファイルに実行権限を付与します。

$ chmod +x 2-1check.sh

6. スクリプトを実行し、実行結果を確認します。(統計情報の再取得も実施しているため数分程度かかります。)

$  ./2-1check.sh

以下のように表示されればOKです。

pastedImage_1png

7. ファイルに実行権限し、実行します。負荷がけ用のパラメータを調整しています。(特にエラー等が出なければOKです。)

$ chmod +x 2-2pre.sh
$ ./2-2pre.sh


3. Swingbenchを実行し、OCPUをスケールアップしてみよう


それではベンチマークツールを動かしてみましょう。OCPUをオンラインでスケールアップできること、スケールアップの前後でTPS(秒間のトランザクション数)を比較し、TPSが向上することを確認しましょう。

1. 後続のシナリオのために、一旦、OCPU数を1に設定しておきます。

    必要に応じてを参照ください。
pastedImage_0png

1. 作業用ディレクトリに移動します。(引き続き、oracleユーザで作業します)

$ cd ~/labs/swingbench


2. vi で 3execute.sh を開き、内容を確認・編集してください。特に以下に示した赤字の箇所に誤りがないかご注意ください。

$ vi 3execute.sh

【3execute.shの内容 】

#!/bin/sh
./swingbench/bin/charbench -c ~/labs/swingbench/swingbench/configs/SOE_Server_Side_V2.xml \
         -cf ~/labs/wallets/Wallet_atp01.zip \
         -cs atp01_tp -u soe -p Welcome12345# \
         -v users,tpm,tps,vresp \
         -intermin 0 \
         -intermax 0 \
         -min 0 \
         -max 0 \
         -uc 64 \
         -di SQ,WQ,WA

3. ファイルに実行権限を付与し、実行します。

$ chmod +x 3execute.sh
$ ./3execute.sh

以下のように表示されればOKです。

pastedImage_0png

左から4列目のTPS(秒間のトランザクション数)の数字に着目ください。

1分程度待って安定した時点での値を、この後の比較のためにメモしておいてください。

4. OCPU数を1から2に増やしてください。

pastedImage_2png

     Swingbenchは動いたままオンラインでOCPUをスケールアップできること、スケールアップ後にTPSが向上していることが確認できればOKです。

5. 自動スケーリング(AutoScaling)を有効にするために、自動スケーリングにチェックを入れ、更新をクリックください。

pastedImage_3png

     ここでもSwingbenchは動いたままオンラインで有効化できること、またTPSが向上していることが確認できればOKです。

6. Swingbenchをするために、Enterキーを押すと終了されます。

pastedImage_4png

以上で、この章の作業は終了です。

次の章にお進みください。