Workers - 同時接続制限の緩和(ヘッダ到着で接続解放)
Key Points
- 接続制限が緩和
- ヘッダ到着で接続解放
- デッドロック誤検知を解消
Summary
Cloudflare Workers の同時オープン接続制限が緩和されました。従来は各 Worker 呼び出しごとに接続のライフタイム全体で最大6接続に制限されていましたが、今回の変更によりレスポンスヘッダが到着した時点でその接続は解放されます。結果として「ヘッダ待ち」フェーズにある接続のみが6の上限にカウントされます。
Key Points
- 変更前: 新しい接続は既存接続が完全に終了するまでブロックされていた(全ライフタイムで6接続制限)。
- 変更後: レスポンスヘッダが届いた時点で接続を解放し、ヘッダ待ち状態の同時接続数のみを6で制約する。
- これにより「Response closed due to connection limit」例外が解消される。
- 以前はランタイムがアイドルと見なした LRU 接続をキャンセルしていたため、gzip の内部デコードなどで一時的なギャップが発生すると誤検知で接続が切られることがあった。今回の変更でそのクラスのバグは解消される。
- エンジニア向け実務ポイント:
- コード変更は不要(既存の Worker は自動的に恩恵を受けます)。
- ただしヘッダ到着前の同時接続数は引き続き最大6という制約があり、ヘッダ応答が遅いバックエンドでは影響を受ける可能性がある。
- ログや接続待ち時間を監視し、必要なら早期ヘッダ送信やレスポンス設計で初期待ちを短縮することを検討してください。