質問
HULFT SquareのSalesforceコネクター(一括レコード更新)を使ったスクリプトを並列実行すると、直列実行より1ファイルあたりの処理時間が大きく延びる原因として何が考えられますか?また、改善のために取れる対処方法はありますか?
回答
並列実行時に処理時間が延びる原因として、以下の2点が考えられます。
1. Integrateサービスのメモリ不足:並列実行時にheap memoryの使用率が平均約60%、最大約80%に達する場合、メモリのスペックが不足している可能性があります。
2. Salesforce Bulk API 2.0の制限への抵触:Salesforceコネクターの一括レコード系処理(一括レコード更新・一括レコード読み取り・一括レコード挿入/更新)で使用されているBulk API 2.0の制限に引っかかっている可能性があります。
改善に向けた対処方法として、以下の2点が考えられます。
1. メモリの増強:並列実行時にheap memoryの使用率が高い場合、Integrateサービスのメモリを増加することで処理速度が改善される可能性があります。
2. Salesforceへの同時接続数の削減:一括レコード読み取り処理や一括レコード挿入/更新処理によるSalesforceへの接続時間を短くし、同時接続数を少なくしたうえで処理速度が向上するか検証することが推奨されます。
補足
- 処理性能の目標達成に向けた推奨構成・設定のベストプラクティス、およびIntegrateサービスの処理性能の目安(推奨スペック)は提供できません。取り扱うデータ・スペック・データ加工内容などお客様独自の要件によるため、お客様側での検証・調整が必要です。
- Salesforce Bulk API 2.0の制限については、以下の外部リファレンスをご参照ください。
API 要求の制限と割り当て | Salesforce Developer の制限および割り当てクイックリファレンス | Salesforce Developers
コメント
0件のコメント
記事コメントは受け付けていません。