24. ユーザーをプールに関連付け
リソースプールの作成
ユーザーをそれぞれ特定のプールに関連付け:
- ユーザーを作成し、関連付け
- もしくは、現在のユーザーを変更
=> CREATE RESOURCE POOL load_pool MEMORYSIZE '10G'
PRIORITY 100;
=> CREATE USER test RESOURCE POOL load_pool;
=> ALTER USER…
25. ユースケース – オンライン小売店の CEO のクエリ
CEO は毎週月曜の朝9時にレポートを実行します。
どうすれば、レポートがいつも時間通りに確実に実行されるようにできるでしょうか。
26. ユースケース – オンライン小売店の CEO のクエリの答え
推定メモリ使用量を決めるためにクエリのプロファイル情報を取得
リソースプールを作成
- 十分な MEMORYSIZE で
- ALTER USER コマンドを使用し、 CEO レポートの実行ユーザーを作成したリソースプールに関連付け
- このアプローチの欠点は何でしょうか?
=> PROFILE SELECT region, sum(revenue) FROM sales group by region;
NOTICE: Statement is being profiled.
HINT: select *
from v_monitor.execution_engine_profiles
where transaction_id=45035996273751349
and statement_id=6;
NOTICE: Initiator memory estimate for query:
[on pool general: 1723648 KB, minimum: 355920 KB]
=> CREATE RESOURCE POOL ceo_pool MEMORYSIZE '1800M' PLANNEDCONCURRENCY 1 PRIORITY 50;
=> ALTER USER ceo_user RESOURCE POOL ceo_pool;
27. ユースケース – 携帯電話会社向け Web アプリ
インタラクティブなポータルを使用した Web アプリケーションを使っています。IT 部門がバッ
チ処理のレポートを実行する際、 Web ページの更新に時々多大な時間がかかってしまい、エン
ドユーザーが不満を言っています。
どうすれば、バッチ処理のレポートを止めることなく、 Web サイトの閲覧ユーザーによりより
ユーザーエクスぺリエンスを提供することができるでしょうか?
28. ユースケース – 携帯電話会社向け Web アプリの答え
Web ページのクエリのリフレッシュ専用のプールを作成
- PLANNEDCONCURRENCY と MEMORYSIZE を設定
- Web サイトのクエリを実行するデータベースユーザーとプールを関連付け
メモリが他の目的でいつでも利用可能であるように、バッチ処理のレポートで使用するメモ
リサイズを固定し制限するプールを作成
=> CREATE RESOURCE POOL web_pool MEMORYSIZE '250M' PRIORITY 50
MAXCONCURRENCY 5 PLANNEDCONCURRENCY 1
=> CREATE RESOURCE POOL batch_pool MEMORYSIZE '4G‘ MAXMEMORYSIZE '4G'
MAXCONCURRENCY 10:
36. ロード
検索
15%
55%
ロード
検索
35%
35%
検索 15%
344937.583 ms
141017.407 ms
158581.541 ms
219019.931 ms
507822.211 ms
単体試験
ロード
検索
58447.572 ms
80378.134 ms
100%
100%
ロード 55% 101217.042 ms
リソース制御割合
CPUリソースが上限値までしか使われていないことを確認し、ロード、検索を実施
処理時間もCPUリソース応じて変化していることを確認
リソースを制御することによ
り、処理時間が長くなってい
ることが確認できる。
リソースを制御することによ
り、処理時間が長くなってい
ることが確認できる。
37. ロード
検索
15%
55%
ロード
検索
35%
35%
ロード
検索
55%
15%
360194.262 ms
147579.770 ms
275760.151 ms
351450.411 ms.
109074.243 ms.
514751.148 ms
2クエリー同時実行
ロード
検索
35%
35%
166044.571 ms
220309.198 ms
リソース制御割合
リソース制限をかけた状態で、ロードと検索を同時に実行、CPUリソースが上限値までしか使われていな
いことを確認。また、処理時間も単体テストに比べて劣化が無いことを確認し、ロードと検索を同じS35
のリソースプールを利用した際は、リソースの競合が起きていることを確認。
344937.583 ms
単体試験時
141017.407 ms
158581.541 ms
219019.931 ms
158581.541 ms
219019.931 ms
507822.211 ms
101217.042 ms