コンテンツにスキップ

制限

Durable Objectsは、Workers Paid planでのみ利用可能です。Durable Objectsの制限は、Workers Limitsと同じであり、Durable Objectsに特有の以下の制限もあります:

機能制限
オブジェクトの数無制限(アカウント内または特定のクラス内)
最大Durable Object名前空間500(スクリプト制限と同じ)
アカウントあたりのストレージ50 GB(Cloudflareに連絡することで増加可能)1
クラスあたりのストレージ無制限
オブジェクトあたりのストレージ無制限
キーサイズ2 KiB(2048バイト)
値のサイズ128 KiB (131072バイト)
WebSocketメッセージサイズ1 MiB(受信メッセージのみ)
リクエストあたりのCPU30s(WebSocketメッセージを含む)2

1 Durable Objectsは、ストレージをギガバイトに基づいて請求および測定します
(1 GB = 1,000,000,000バイト) であり、ギビバイト(GiB)ではありません。

2 各受信HTTPリクエストまたはWebSocket メッセージは、残りの利用可能なCPU時間を30秒にリセットします。これにより、各受信ネットワークリクエストの後にDurable Objectが最大30秒の計算を消費できるようになり、新しいネットワークリクエストごとにタイマーがリセットされます。受信ネットワークリクエストの間に30秒を超える計算を消費すると、個々のDurable Objectが追い出されてリセットされる可能性が高まります。

単一のDurable Objectはどれだけの作業ができますか?

Durable Objectsは、多くのDurable Objectsに水平スケールできます。各個別のオブジェクトは本質的にシングルスレッドです。

  • 個別のオブジェクトは、1秒あたり1,000リクエストのソフトリミットがあります。名前空間ごとに無制限の個別オブジェクトを持つことができます。
  • 小さな値に対して直接応答を返す単純なストレージ get()は、大きなJSON値をシリアライズおよび/またはデシリアライズするDurable Objectと比較して、より高いリクエストスループットを実現する可能性があります。
  • 同様に、複数のlist()操作を実行するDurable Objectは、リクエストスループットの観点でより制限される可能性があります。

リクエストが多すぎるDurable Objectは、キューに入れようとした後、呼び出し元に過負荷エラーを返します。

いくつのDurable Objectsを作成できますか?

Durable Objectsは、システム内の個別オブジェクトの数を制限する必要がないように設計されており、水平スケールできます。

  • 特定のDurable Object名前空間内で、必要なだけ多くの個別のDurable Objectsを作成および実行できます。
  • Durable Objectsの使用に対する主な制限は、アカウントあたりの総ストレージ制限です。
  • さらにストレージが必要な場合は、アカウントチームに連絡するか、制限増加リクエストフォームに記入してください。次のステップについてご連絡いたします。