抽出の最適化
抽出スケジュールが高いリソース使用量に対応している場合、または抽出の完了に長い時間がかかる場合は、抽出の最適化を試みます。
注: このトピックでは、モニタリング セクションのサンプル パフォーマンス ワークブックを使用します。詳細については、サンプル パフォーマンス ワークブックでデータを分析するを参照してください。
抽出を最適化するタイミング
高い CPU 使用量が抽出の更新に対応している
サンプル パフォーマンス ワークブックの [バックグラウンド ジョブ] ダッシュボードを使用して、抽出の更新ジョブを含め、Tableau Server によって実行するバックグラウンド ジョブの数を表示します。ダッシュボードには、バックグラウンドの遅延の長さ、つまりバックグランド ジョブがスケジュールされている時刻と実際に実行される時刻の間の時間の長さも表示されます。特定の時刻に長い遅延が見られる場合、多くのジョブが同時に実行中の場合、サーバーの負荷を減らすため、別の時刻にジョブのスケジュールを分散させてみてください。
また、多数のバックグラウンド ジョブがある時刻や、サーバーの CPU 使用量に長い遅延がある時刻を比較します。[CPU 使用量] ダッシュボードを使用して、合計 CPU 使用量のパーセントや、各プロセスの CPU 使用量のパーセントを表示します。バックグラウンダー プロセスはバックグラウンド ジョブを実行するため、多くの抽出更新ジョブがある場合や、速度が遅い抽出更新ジョブがある場合、最初のプロセスで枯渇が生じます。バックグラウンダー プロセスの CPU 使用量が定期的に、短時間 100 % に到達していることに注意してください。これは、反復するスケジュールで集中的な更新ジョブが発生していることを示します。
注: 個別プロセスのプロセッサー利用状況は与えられたプロセッサー コアに対して測定されるため、個別プロセスの CPU 使用率の割合は、合計すると 100 パーセントを超える場合があります。対照的に、合計 CPU 使用量はすべてのプロセッサー コアに対して測定されます。
抽出に失敗する、または実行速度が遅い
抽出でのバックグラウンド タスク 管理ビューを使用して、抽出に失敗した回数と、抽出の完了にかかる時間を決定します。頻繁に失敗が発生する場合、特定のデータ ソースに問題があることを示している可能性があります。
抽出用の最適化方法
CPU 使用率の高さが抽出の更新スケジュールに対応している場合、抽出用に最適化することをお勧めします。
抽出更新スケジュールを調整する
サンプル パフォーマンス ワークブックの [バックグラウンド ジョブ] ダッシュボードを使用して、抽出を実行する最適な時刻を特定します。オフピーク時間に抽出を実行する以外に、抽出の更新を分散させ、同時に発生するサーバー負荷を最小限に抑えることができます。抽出の更新で引き続き問題が発生する場合は、次の方法で、抽出の更新頻度をできるだけ減らします。
サーバーがビジーでない時間に抽出をスケジュールします。
更新の頻度を減らします。
特定の抽出の高速化
抽出でのバックグラウンド タスク 管理ビューを使用して、失敗する抽出の更新および時間がかかる抽出を特定します。
抽出のサイズを小さくします。フィルターまたは集計によって抽出のデータ セットを短くし、未使用のフィールドを非表示にして狭くすることで、サーバーのパフォーマンスの向上に役立ちます。この変更を行うには、Tableau Desktop オプション [使用していないフィールドをすべて非表示] および [表示可能なディメンションのデータを集計する] を使用します。詳細については、Tableau ヘルプの「抽出の作成」を参照してください。
パフォーマンスの高いワークブックを構築するための一般的なヒントについては、Tableau ヘルプで「パフォーマンス」を検索してください。Tableau Server にパブリッシュした後、ワークブックの実行方法を確認するため、パフォーマンスの記録を作成できます。詳細については、パフォーマンスの記録の作成を参照してください。
増分更新ジョブを使用します。増分更新では、抽出を最初から作成する代わりに、既存の抽出に新しい行を追加します。このタイプの抽出の更新は、前回の抽出更新ジョブの実行後に追加されたデータのみを処理するため、迅速に実行できます。ただし、データ ソースに追加ではなく更新されたデータは考慮しません。その結果、増分更新ジョブを実行する場合でも、時折、完全更新ジョブを実行することをお勧めします。たとえば、毎日ではなく週に 1 回または 2 回データ ソースのジョブの完全更新を実行することができます。
抽出更新の実行モードを構成する
抽出の更新スケジュールを作成するときには、更新が並列実行モードで実行されていることを確認します。並行してスケジュールを実行する際は、スケジュールに 1 つの更新タスクしか含まれていない場合であっても、使用可能なすべてのバックグラウンダー プロセスで実行します。"シリアル" でスケジュールを実行する際、1 つのバックグラウンダー プロセスでのみ実行されます。既定では、更新タスクをできるだけ速く終わらせるために、実行モードは "パラレル" にセットされています。
ただし、状況によっては、実行モードをシリアルに設定した方が適切な場合があります。たとえば、大規模なスケジュールがすべての使用可能なバックグラウンダー プロセスを使用しているために、他のスケジュールの実行できない場合、実行モードを "シリアル" に設定することがあります。
バックグラウンダー プロセスの数を増やす
1 つのバックグラウンド プロセスで、特定のタスクに対して 1 つの CPU コアを 100 パーセント消費する場合があります。このため、実行する必要があるインスタンスの合計数は、コンピューターの使用可能なコアによって異なります。Tableau Server をクラスターにインストールしており、別のノードでバックグラウンダー プロセスを実行する場合は、経験則として、バックグラウンダー プロセスを実行するコンピューターのコアの半数と全数の間にバックグラウンダー プロセス数を設定します。
プロセスの構成の詳細については、ノードの構成を参照してください。
プロセスの隔離
クラスターに Tableau Server をインストールしている場合、リソースの競合を防ぐため、バックグラウンダー プロセスを別のノードに移動することで大きなメリットが見られます。バックグラウンダー プロセスは非常に多くの CPU を消費し、他の CPU を消費するプロセスが実行されているものと同じノードで実行すると、サーバーの速度が低下する可能性があります。たとえば、VizQL サーバー プロセスとデータ エンジンの両方で CPU を大量に使用する場合があります。詳細については、推奨されるベースライン構成トピックを参照してください。