第3回:性能検証編

はじめてのOracle Autonomous Data Warehouse Cloud
はじめに
皆様、こんにちは。データソリューション部の山本です。
第2回目の「データインポート測定編」から多少期間が空いてしまいましたが、連載第3回目となります。今回は、Oracle Autonomous Data Warehouse Cloud (以下、ADW Cloud)について、ベンチマークツールによる負荷検証をしてみました。
本記事では、Oracle社やコミュニティサイトなどのWeb情報を元に証環境を準備し、検証した内容となります。クラウド全般的に言える内容ではありますが、クラウド環境は日々改善や機器増強され、性能面の強化などが頻繁に発生しています。その為、本BLOGの検証結果は同様に実施した検証と異なる可能性がございますが、ご容赦の程宜しくお願いします。
本内容は2018年12月~2019年3月に検証した内容となります。
前提内容
- HammerDB : OracleだけでなくRedShiftなどにも対応しているベンチマークツール
⇒ TPC-HでADW CloudとRedShift、ADW Cloudのリソースを変更した性能比較を検証 - Swingbench : Oracle用に負荷掛け設計されたベンチマークツール
⇒ TPC-DSでADW Cloudのリソースを変更した性能比較を検証
検証は上記2つのベンチマークツールを使って行いましたが、「Swingbench」による検証については、後日、ホワイトペーパーでの公開を予定しております。よって、今回は「HammerDB」を使用した検証内容と結果のみの報告となります。
ベンチマーク検証(HammerDB編)
【全体】負荷テスト実施環境の概要図
【全体】負荷テスト検証項目
No. | 検証概要 | 検証ポイント |
---|---|---|
1 | ADW CloudとRedShiftで同一コア数で実施 (ADW Cloudはコンシューマグループ別に実施) |
ADW Cloud RedShift |
2 | ADW Cloudでコア数を変更して実施 (インスタンス起動直後) |
ADW Cloud |
3 | ADW Cloudでコア数を変更して実施 (キャッシュ利用) |
ADW Cloud |
4 | ADW Cloudで負荷の実行ユーザ数を変更して実施 | ADW Cloud |
【全体】負荷テストで実施したデータ件数と容量
テーブル 情報 | ADW Cloud | RedShift | ||
---|---|---|---|---|
データ件数 | データ容量 | データ件数 | データ容量 | |
テーブル① | 1,500,000 | 約10GB | 1,500,000 | 約10GB |
テーブル② | 60,004,782 | 60,003,720 | ||
テーブル③ | 25 | 25 | ||
テーブル④ | 15,000,000 | 15,000,000 | ||
テーブル⑤ | 2,000,000 | 2,000,000 | ||
テーブル⑥ | 8,000,000 | 8,000,000 | ||
テーブル⑦ | 5 | 5 | ||
テーブル⑧ | 100,000 | 100,000 |
【No.1】ADW CloudとRedShiftで同一コア数で実施
■ 検証項目条件
No. | 実行環境 | コア数 | コンシューマ グループ | 実行 ユーザ数 | 補足内容 |
---|---|---|---|---|---|
1 | ADW Cloud : Low | 2 | Low | 1 | 3回実施 |
2 | ADW Cloud : Medium | 2 | Medium | 1 | 3回実施 |
3 | ADW Cloud : High | 2 | High | 1 | 3回実施 |
4 | RedShift | 2 | – | 1 | 3回実施 |
■ 検証結果
■ 検証結果の考察
SQLの処理性能はRedshiftよりADW Cloud(Medium or High)の方が良いが、全体の実行時間はRedShiftの方が速い。
ADW Cloudは接続にクレデンシャル情報の認証処理をしている為、DB接続に時間が掛っていたと思われ、全体の実行時間に影響したと考えている。
【No.2】ADW Cloudでコア数を変更して実施(インスタンス起動直後)
■ 検証項目条件
No. | 実行環境 | コア数 | コンシューマ グループ | 実行 ユーザ数 | 補足内容 |
---|---|---|---|---|---|
1 | ADW Cloud : 1コア | 1 | High | 1 | 3回実施 |
2 | ADW Cloud : 2コア | 2 | High | 1 | 3回実施 |
3 | ADW Cloud : 4コア | 4 | High | 1 | 3回実施 |
■ 検証結果
■ 検証結果の考察
DB起動直後はキャッシュがなく、格納されているデータから検索する為、CPUなどのリソースが必要になる。
上記の結果を考慮するとインスタンス起動直後は、CPUを1コアではなく2コア以上を割当てた方が良い。
【No.3】ADW Cloudでコア数を変更して実施(キャッシュ利用時)
■ 検証項目条件
No. | 実行環境 | コア数 | コンシューマ グループ | 実行 ユーザ数 | 補足内容 |
---|---|---|---|---|---|
1 | ADW Cloud : 1コア | 1 | High | 1 | 3回実施 |
2 | ADW Cloud : 2コア | 2 | High | 1 | 3回実施 |
3 | ADW Cloud : 4コア | 4 | High | 1 | 3回実施 |
■ 検証結果
■ 検証結果の考察
キャッシュ利用時の処理性能は、それ程大きな性能差は見受けられない。
ADW Cloudはインスタンスを起動したまま、動的にコア数を変更できる為、リソースの使用状況によりコア数を減らし、利用費用を低減する検討が可能。
⇒ リソースの変更手順は「第1回:基本セットアップ編」に記載
【No.4】ADW Cloudで負荷の実行ユーザ数を変更して実施
■ 検証項目条件
No. | 実行環境 | コア数 | コンシューマ グループ | 実行 ユーザ数 | 補足内容 |
---|---|---|---|---|---|
1 | ADW Cloud : 1コア | 1 | High | 10 | 3回実施 |
2 | 1 | High | 50 | 3回実施 | |
3 | 1 | High | 100 | 3回実施 | |
4 | ADW Cloud : 2コア | 2 | High | 10 | 3回実施 |
5 | 2 | High | 50 | 3回実施 | |
6 | 2 | High | 100 | 3回実施 |
■ 検証結果
■ 検証結果の考察
ADW Cloudではコア数に応じて、接続数が増えます(1コアで100)。
業務で使用する接続数と内部処理等を考慮した接続数を算出し、稼働中のコア数に対する接続数を超過しないよう考慮した方が良い。
最後に
今後、運用面などの検証を別途検討しています。
最後になりますが、弊社は「データベースのオールマイティ企業」を謳っており、データベースに関する経験や知識、技術力を自負しています。データベース関連での課題解決等、必ずやお客様のお役に立てると信じていますので、何かございましたら弊社へご連絡下さい。
それでは、次回をお楽しみに!