702 Views
April 28, 25
スライド概要
https://qiita.com/Hyodo_Katsuki
Microsoft Fabricをもっと効率的に! 容量管理アプリの活用術 Microsoft Data Analytics Day(Online) 勉強会 兵藤 克樹
自己紹介 兵藤 克樹(ひょうどう かつき) ◆ 所属:株式会社ジール ◆ 経歴:2022年4月 新卒入社 ◆ 仕事:Microsoft Fabricでのデータ分析基盤開発 ◆ 参考: ◆Hyodo_Katsuki – Qiita ◆Hyodo Katsukiさんのプロフィール | ドクセル 2
容量管理アプリ(Microsoft Fabric Capacity Metrics)とは ◆ Fabric容量の使用量を監視し、最適な容量の選択に活用できるPower BIアプリ 3
アジェンダ ◆ FabricのCUの概念について ◆バースティング ◆スムージング ◆スロットリング ◆ 容量管理アプリの見方 4
CUとは ◆ Fabric が処理を実行する際に消費するコンピューティングリソースを通貨のように表現したもの ◆ Fabric容量のサイズによって毎秒供給される量が異なる ◆ F2>>2CU/秒、 F64>>64CU/秒、 F128>>128CU/秒 ◆ 2つの特性により、ピーク時と待機時のスペックの調整を不要にしている ◆ バースティング (CUを前借りし大規模処理に対応) ◆ スムージング (CUを将来に後回して消費を分散) ◆ CUが不足すると処理の遅延と拒否が起こる ◆ スロットリング (処理の遅延と拒否によりCU不足を調整) 5
バースティングとスムージング ◆ バースティング (CUを前借りし大規模処理に対応) ◆ 毎秒供給されるCU以上のCUを供給し、実行時間を短縮する機能 ◆ 突発的な大規模ジョブ実行にも対応できる ◆ 例)64CU 消費すると60秒かけて完了する処理を前借りにより128CU消費して 30秒で完了 ◆ スムージング (CU消費を将来に後回して消費を分散) ◆ ジョブで消費されるCUを5分または24時間に平滑化する機能 ◆ 容量の需要が24時間に分散されるので、複数ジョブの競合を心配する必要が無くなる ◆ 例)1秒間に 1440 CU消費したジョブを24時間にならす(=1CU/秒を24時間続けたことにする) ※実行時間は影響無し 6
バースティングとスムージングのイメージ 7
バースティングとスムージングのイメージ バースティングはSKUに関係なく、最大パ フォーマンスで実行するために必要なリソー スを自動的に割り当てる機能です。 大規模なバッチ処理は、従来、計算リソース に過負荷をかけるため、ユーザーへの干渉を 避けるために、データベース管理者は、これ らのジョブを営業時間外にスケジューリング する必要がありました。 しかし、Fabricでは、大規模なバッチ処理で も、「分割払い」の考え方が適用され、バッ チジョブの場合、スムージングは24時間一 律に適用されます。 これにより、負荷を分散するためのジョブス ケジューリングを考慮する必要なくなり、時 間帯に関係なく負荷は均一化されます。 ここで重要なことは、バッチジョブがいつス ケジュールされようとも、対話型クエリのパ フォーマンスが低下することはないというこ とです。 8
スロットリング ◆ スロットリング (処理の遅延と拒否によりCU不足を調整) ◆ CUが不足した際に待機時間を調整する機能。 ◆ 超過分の使用量が供給されるCUの一定を超えた場合に発生 ◆ 対話型ジョブ(レポートの閲覧など)とバックグランドジョブ(データセットのスケジュール更新など)で 遅延や拒否の調整が異なる 超過分 9
スロットリングの猶予 ◆ 超過が発生してもすぐにスロットリングが起こるわけではない ◆ 超過分が一定量を超えない限り、繰り返し訪れるCUの供給で超過分が返済されていく ◆ 超過分の使用量が10分間で供給されるCU以下の場合 例) F64なら超過分が64CU/秒×60秒×10 以下の場合 超過分 将来の供給により 超過分を解決 10
容量管理アプリの見方① ◆ 全体のCU消費量の傾向を把握する CUや処理時間、操作数の変化を示す CUの変化の傾向や、処理が集中した時間を特定する 選択やドリルダウンで他のビジュアルをフィルタリングする 11
容量管理アプリの見方② ◆ バックグラウンドジョブと対話型ジョブの使用量を把握する バックグラウンドジョブと対話型ジョブの比率が分かる バックグラウンドジョブはスムージングによって24時間で平滑化されているため全時間で大差はない 平滑化し複数の処理を積み上げた結果、全時間で100%に近い消費量となっており、対話型ジョブを行う余裕が無い 12
容量管理アプリの見方③ ◆ スロットリングを把握する スロットリングにより 対話型ジョブの遅延が発生している 対話型ジョブの拒否や バックグラウンドジョブの拒否は発生していない 13
容量管理アプリの見方④ ◆ 超過量や返済残高を把握する 緑:30秒間で超過したCUの繰越し率(左Y軸) 青:30秒間で返済したCUの繰越し率(左Y軸) 赤:累積されたCUの繰越し率(右Y軸)返済しなければいけない残高 14
容量管理アプリの見方⑤ ◆ アイテムごとのCU使用量を把握する CUや処理時間の高い操作を特定する Performance deltaは1週間前のパフォーマンスと比較した差を示す 悪化すると負の値で、オレンジは悪化、赤はかなり悪化したことを示している 15
容量管理アプリの見方⑥ ◆ スロットリング発生時の詳細を確認する スロットリングが発生している時間を選択し、 ドリルスルー、またはExploreで詳細を確認する 16
容量管理アプリの見方⑦ ◆ スロットリング発生時の負荷の高い操作を特定する Total CUやDurationから負荷の高い処理を特定する Timepoint CU, % Base Capacityで30秒間で 供給されたCUに対して消費したCUの割合が分かる 17
参考 ◆ Fabric の容量スロットリングについて理解する - Microsoft Fabric | Microsoft Learn ◆ Microsoft Fabric Capacity Metrics アプリとは? - Microsoft Fabric | Microsoft Learn ◆ Microsoft Fabric 容量を評価して最適化する - Microsoft Fabric | Microsoft Learn 18