作成したスクリプトのレスポンスやパフォーマンスに問題がある場合、まず時間がかかっている箇所を切り分けた後、その箇所を調査して原因を特定し、原因に応じた対応策を取る必要があります。詳細は以下をご参照ください。
■想定される原因
過去事例では、以下の要因で発生していました。
- 特定の接続先に対して大量のデータの読み取り、書き込みを実行している
- 繰り返し(データ件数)などを使用していてレコードごとの処理を実行している
- システム全体の CPU 使用率やメモリ使用量が増加して全体の処理速度が低下している
- サーバーの設定により処理速度が低下している
特定の箇所で発生しているか、全体的に低下しているかが切り分けの上での大きなポイントになります。詳細は以下をご参照ください。
■確認するポイント
1. 事象の発生時期と変更している設定の有無
事象が最初から発生しているのか、または、なんらかの設定変更や環境の移行に起因して発生しているのか、確認してください。
対処方法:
設定の変更により発生している場合には、設定を元に戻して事象が解消されることを確認してください。
環境の移行により発生している場合には、移行前の環境との差分を確認して、環境設定またはスペックに差がある場合には、同等にしていただくようお願いします。
2. コンポーネント(アイコン)の切り分け
デバッグ実行またはスクリプト実行後にマイログからスクリプトの実行ログを確認して、特に時間がかかっている処理があるか確認してください。
・特定のコンポーネント(アイコン)で時間がかかっている場合
時間がかかっている処理の内容を見直して、処理速度を改善することが可能か、ご確認ください。対処方法に関しては以下をご参照ください。
対処方法:
- パラレルストリーミング機能を使用する
- [テーブル書き込み]で「キーの値と一致する行は更新」を指定している場合、指定を外す。
※「キーの値と一致する行は更新」を指定した場合、一度更新を実行した後で、登録を実行するため、単純な登録、更新のみと比較して、処理時間が長くなることがあります
- 処理対象とするデータ件数を減らす
- 実行するクエリを変更する
- 接続先のデータベースの設定を変更する
・どのコンポーネント(アイコン)でも特に時間はかかっていないが処理の回数が多い場合
どの処理でも時間が短いが、処理の回数自体が多い場合は、繰り返しを使用していて、処理の回数が増えている可能性があります。
[繰り返し(データ件数)]など繰り返し処理を使用されているかご確認いただき、使用している場合には、以下の対処方法を検討してください。
対処方法:
繰り返し処理を使用せずに同様の処理が可能か、検討してください。
・全体的に時間がかかっている場合
DataSpider Studio のタスクマネージャからメモリの使用量を確認し、不足しているようであれば、ヒープメモリを追加して、改善するか確認してください。
※ヒープメモリを指定するファイル、キーについては、ヘルプのプロパティリファレンスをご確認ください。
DataSpider のヒープメモリが不足していない場合は、OS の機能を使用してサーバの CPU 使用率や メモリ使用量から、サーバのリソースが不足しているか確認してください。
不足している場合は、一度の処理件数を分割することで負荷が低下し、全体の処理速度が向上することがあります。
参考情報