この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
SCAPI リクエストには、リクエストのタイムアウト制限があります。リクエスト処理が制限を超えると、504 ゲートウェイタイムアウトレスポンスがクライアントに送信されます。
デフォルトのタイムアウト制限は次のとおりです。
SLAS や Omnichannel Inventory (OCI) などの一部の API ファミリーには、ゲートウェイのタイムアウトがありません。
ゲートウェイのタイムアウトは、さまざまな理由で発生する可能性があります。タイムアウトの根本原因を特定するには、次の手順を使用します。
すべての SCAPI レスポンスには、リクエストの詳細を識別および追跡するために使用できる correlationID レスポンスヘッダーが含まれています。
タイムアウトが発生したリクエストから correlationID を特定し、ログ情報を収集します。
を クリックし、管理 > サイトの開発 > 開発セットアップを選択します。correlationID を入力します。Reports & Dashboards (CIP) のデータを使用して、タイムアウト制限に近いレスポンス時間や処理時間がないか確認します。
をクリックし、マーチャントツールに移動してサイトを選択します。平均レスポンス時間がタイムアウトしきい値に近い場合、高負荷時に制限を超える可能性があります。 平均レスポンス時間が短いにもかかわらずタイムアウトエラーが発生する場合は、レスポンスが制限を超えることがあることを示しています。 まれではありますが、ネットワークの問題によってタイムアウトの問題が発生することもあります。
ゲートウェイのタイムアウトの根本原因を特定するには、追加のリクエストの詳細が必要です。
verbose ログ記録を有効にした状態で、疑わしいリクエストの再現を試みます。詳細については、追加のリクエストの詳細を参照してください。
Log Center は、verbose ログフィルターを使用してリクエストの詳細提供します。したがって、correlationID とログレベルカテゴリ scapi.verbose を組み合わせて使用してください。
Log Center では、クエリヒットを使用して errors をフィルタリングし、リクエスト処理中に発生したエラーを見つけます。
スクリプトエラーの調査を参照してください。
これらのエラーが定期的に発生しているかどうかを確認し、実行時間の長いリクエストとの関連付けを試みます。
カスタム API で実行されるフックまたはカスタムスクリプトが、タイムアウトの根本的な原因である可能性があります。
フックを含む API は、実行するコードが追加されるため、フックのない API よりも常に遅くなります。さらに、カスタム API とフックにはサーキットブレーカーメカニズムが組み込まれており、特定のエラーしきい値を超えると API リクエストをブロックします。
サーキットブレーカーを参照してください。
Log Center クエリのヒットで、次の例外タイプを確認します。
スタックトレースを選択して、エラーの根本原因に関する情報が含まれている可能性がある Caused by セクションを見つけます。以下のような原因が考えられます。
API ゲートウェイから返される 504 レスポンスコードは、Log Center に表示されるレスポンスコードと同じではない可能性があります。
Note
Code Profiler を使用してパフォーマンスを監視し、パフォーマンスのボトルネックを特定します。
追加のログステートメントとメトリクスを使用して、詳細を収集します。
全般的なガイダンス:
クライアント側のガイダンス: