Skip to main content

簡潔な回答

毎月生成する画像の量が非常に多く、API のレスポンスレイテンシーを 360ms 未満にしたい場合、別のルートに切り替えても改善は限定的な可能性があります。というのも、代替ノードの多くは海外にホストされており、追加のネットワーク遅延が発生する場合があるためです。 まず、元のルート URL を次のように置き換えてテストしてください。
次の HTTP エンドポイントに:
リクエストパスは変更しないでください。たとえば、https://api.apiyi.com/v1/images/generationshttp://api.apiyi.com:16888/v1/images/generations に置き換えます。
HTTP では TLS 暗号化は提供されません。API key とリクエスト内容は平文で送信されます。このエンドポイントは、信頼できるネットワーク上、または適切に構成された専用線やトンネル経由でのみ使用してください。公開ネットワークから直接呼び出さないでください。

クライアント最適化

一部のAPIゲートウェイでは、持続接続またはストリーミング接続中にHTTP/2の動作が不安定になることがあり、転送の中断や追加の再試行が発生する場合があります。カスタムHTTPクライアントを次のように設定してください。
  • HTTP/1.1 を強制し、HTTP/2を無効化する
  • 接続プールとKeep-Aliveを有効にして、リクエストごとに新しい接続を作成しないようにする
  • 500ms の総タイムアウトを使うのではなく、通常の画像生成時間をカバーできるように読み取りタイムアウトを長くする
  • まれなネットワーク障害を、バックオフ付きで限定回数だけ再試行する
500ms は、ネットワークオーバーヘッドまたはタスク送信の目安として扱い、画像生成完了時間の保証値としては扱わないでください。 実際のレイテンシーは、クライアントの所在地、ISP のルーティング、同時実行数、選択した画像モデル、上流側の処理にも依存します。本番相当の同時実行数でテストを実施し、展開前に P95 と P99 のレイテンシーを評価してください。

推奨されるトラブルシューティングの順序

1

HTTP エンドポイントに切り替える

ルート URL をhttp://api.apiyi.com:16888に置き換え、既存の API パスと認証方式はそのままにします。
2

HTTP/2 を無効化する

クライアントで HTTP/1.1 を強制し、接続の再利用を有効にします。
3

タイムアウトとリトライを調整する

接続タイムアウトと読み取りタイムアウトを別々に設定します。読み取りタイムアウトは通常の画像処理時間を十分にカバーする必要があります。
4

同時実行数のテストを実施する

本番環境に近い同時実行数でテストし、P50、P95、P99 のレイテンシと失敗率を監視します。

関連ドキュメント