6

の最適化に取り組んでdata flow taskいます。どのコンポーネントにどれだけの時間がかかるかがわかると思いました。私はこれらのタスクを得ました:

ここに画像の説明を入力

それぞれの所要時間はどのように確認すればよいですか?メモリ、CPU などの他のリソースについて知ることができれば、それは素晴らしいことです。

主に、各コンポーネントにかかった時間を調べています。

4

2 に答える 2

4

経過時間を簡単に確認するには、[実行結果] タブを参照してください。タスク/コンポーネントの開始時と終了時に経過時間が表示されます。

また

データ フロー エンジンのパフォーマンスの監視 これは少し複雑で、実行すると PC の速度が低下します。YMMV。

また、SSIS には、何かのトラブルシューティングが必要な場合に備えて、エラー、情報、およびその他の無数のイベントの非常に優れたログ メカニズムが含まれています。

メニューから SSIS、Logging... を選択します。

プロバイダーを指定する必要があります。コツをつかむまでシンプルに保つために、テキスト ファイル用の SSIS ログ プロバイダーをお勧めします。これは CSV 形式で、返される情報をカスタマイズできます。

パッケージ内のすべてのコンポーネントを監視するには: [詳細] タブをクリックし、billinkc の提案に従って OnInformation および OnPipelineRowsSent を選択します。Logging はトラブルシューティングに役立ちますが、OnPipelineRowsSent は冗長であるため、本番環境にデプロイするときにログからそのイベントを削除して、書き込み時間とログ サイズを減らすことをお勧めします。

SSIS ログ - パッケージ全体

特定のタスクのみを監視するには: パッケージのチェックを外し、監視するパッケージ ツリー ビューからデータ フロー タスク/コンポーネントをチェックします。それを選択したら、OnInformation (およびbillinkcによって提案されたOnPipelineRowsSent) でログに記録するイベントを選択します。

SSIS ログ - 特定のコンポーネント用

于 2012-08-21T14:33:41.357 に答える
2

データ フロー上のコンポーネント間のタイミングを判断したい場合は、ネイティブ ロギングを使用してOnPipelineRowsSentイベントをキャプチャします。これは、変換間で移動した行数を示します。James はsqlteamで良いクエリと記事を書いています。

注意すべきことの 1 つは、パッケージにデータ フローが存在するまで OnPipelineRowsSent イベントをログに記録できないことです。テンプレート パッケージを作成する立場からすると、それは残念なことだと常々感じていました。

于 2012-08-21T14:54:35.453 に答える