MTU lab

[PR] 100億件のアンロードを60分で達成!

はじめに

動機

測定条件

全体の条件

条件 選択内容
使用したシステム こちらのリンクをクリックすると、テストに使用したコンピュータについて解説した、このサイト内の記事へジャンプします。
Oracle Database 11g R2 から登場した Oracle Restart や、12c から登場したプラガブル・データベースといった、新しい技術への対応を検証する為の設定が含まれています。
MTU用環境変数
(出荷時初期値を変更した主なもの)
LISTTABLE=HASH_PART_0160
FILESIZE=0
BIND_SIZE=1G
OVERLAP_BUFFER_LENGTH=4M
PARTITIONING=0

アンロード対象テーブル:HASH_PART_0160 の特性

条件 選択内容
パーティション化 verchar2(15)型データをキーとしてハッシュ・パーティショニング
パーティション数 32
パーティションあたりの
平均データ件数 [単位:百万件] *1
312.5
(標準偏差:81571 行)
CSV の平均データ長 [単位:バイト] 165
項目数 VARCHAR2 4
項目数 DATE 2
項目数 NUMBER 3
項目数 CHAR 1
総項目数 10
データ生成所要時間 [単位:秒] *2 43900
セグメントサイズ合計 [単位:GB] *3 1078
CSV データ量 [単位:GB] 1542
  1. パーティション化キーに乱数に基づく値を用いているので平均値を中心に件数が僅かに分散しています。
  2. データ生成は弊社のオリジナルユーティリティー(非公開)を使用
  3. 表圧縮オプション未使用、USER_SEGMENTS ビューの BYTES 列値を集計表示

出力されるデータのサンプル (3件分)

0000000148~~Foqvre~~,~~21530424004401~~,280731594835,~~dlG9HSUf~~,748766.98,~~23240607215642~~,~~k7037   ~~,~~FFw5hZ12W~~,768478998939019,~~9LRhSbMaR9fBv~~,
0000000159~~1cCQM39g~~,~~38441127025731~~,2379760955898,~~EMLo6HgNWq~~,996422.43,~~28320220041621~~,~~ikKDhPZ ~~,~~hDWNzNWpV~~,793767313694761,~~HR3Z3krExrMuKMu7Od2~~,
0000000160~~sQ5QpcWkOu~~,~~35821117194854~~,3681160762725,~~rfBYL7IYdN5go~~,622915.16,~~19750226100019~~,~~oM4LJJ  ~~,~~MKExk1~~,629023003075868,~~2VXfksb1aVlUcoBfad~~,

スケーラビリティを検証する為に変化させた条件

測定結果

スケーラビリティ

並列度

性能指標
アンロード所要時間
[単位:秒]
平均処理能力
[単位:kB/秒]
タスクマネージャ
CPUタブ
コンソール
出力
32 3497 462202 並列度=32 並列度=32
28 4740 341032 並列度=28 並列度=28
24 4463 362178 並列度=24 並列度=24
20 5260 307323 並列度=20 並列度=20
16 6298 256679 並列度=16 並列度=16
12 7158 225840 並列度=12 並列度=12
8 6805 237562 並列度=8 並列度=8
4 12841 125898 並列度=4 並列度=4
3 18380 87956 並列度=3 並列度=3
2 23760 68041 並列度=2 並列度=2

並列度と平均処理能力の関係

並列度と平均処理能力の関係
並列度と平均処理能力の関係=32

作業負荷最大時のリソース・モニタ状況

CPU占有率の降順でプロセスを確認
リソース・モニタ/CPUタブ 並列度=32
I/O率の降順でプロセスを確認
リソース・モニタ/ディスクタブ 並列度=32


ロード・バランスされない作業負荷

偏った負荷の割当 (並列度=16)
NUMA ノードへの偏った負荷の割当


ターボ・ブースト

無負荷状態
無負荷状態
偏在した負荷状態
偏在した負荷状態


まとめ