問題タブ [dmv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
memory - SSAS 表形式モデルでユーザー セッションごとの実際のメモリ使用量を取得する
特定の SSAS 表形式のメモリ内モデルを使用しているときに、ユーザー セッションごとの実際のメモリ使用量を示すレポートを作成しようとしています。モデル自体は比較的大きく (メモリ内で最大 100 GB)、テスト クエリは比較的重いです: フィルターなし、最小の粒度レベル、SUM メジャーのカップル + 30,000 行の CSV へのエクスポート。
まず、次の DMV をクエリしてみました。
次の結果が得られました: $system.discover_sessions result
SESSION_USED_MEMORY が少なくとも数百 MB 表示されることを期待していましたが、取得した最大値は 11 KB です (この DMVに関する MS の公式ドキュメントでは、SESSION_USED_MEMORY がキロバイト単位であることが示されています)。
また、さらに 2 つの DMV をクエリしてみました。
と
しかし、非常に圧倒的な結果も得られました。 $system.discover_commandsからの使用メモリは 0 で、 $system.discover_connectionsからの CONNECTION_DATA_BYTES_SENT の使用メモリは 4.8 MB であり、実際のセッションが必要とするよりもまだ小さいようです。
これらの結果は、ユーザーが PowerBI を介して同様のクエリを送信し、SSAS サーバーで 4 ユーザーあたり約 40 GB の RAM 割り当てのスパイク (つまり、ユーザー セッションあたり約 10 GB) を観察する、非常に率直なテストに対応していないようです。
これら (またはその他の DMV またはメソッド) を使用して、実際のユーザー セッション メモリ消費量を取得した人はいますか? 結果を解析して DB にロードする必要があるため、SQL トレーサ ダンプを使用するのは最後の手段です。私の目標は、アクティブなユーザー セッションを示すリアルタイム レポートを作成することです。
sql-server - SQL Server プロファイラーで DISCOVER_CSDL_METADATA が非常に遅い
私たちのセットアップは、SQL Server + SSAS + 多次元 OLAP + その上に PowerBI です。
最近気付いた問題は、ユーザーが PowerBI レポートをロードすると、前述のイベントが時々発生することです。これにより、レポートが読み込まれるまでの待ち時間が非常に長くなります (イベントには最大 45 ~ 60 秒かかります)。
私たちのキューブには、最大 20 のディメンションと最大 50 のメジャー、3 つのパーティションに 200 万から 300 万行、MOLAP ストレージがあります。
私たちはそれについて何ができますか?どうすればデバッグできますか? SSAS の専門家が参加していないため、このイベントをグーグルで検索してもあまり役に立ちませんでした。そのような行動の理由をどこで探せますか?