

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SWF 配額
<a name="swf-dg-limits"></a>

Amazon SWF 對特定工作流程參數的大小設定配額，例如每個帳戶的網域數量和工作流程執行歷史記錄的大小。這些配額旨在防止錯誤的工作流程耗用系統的所有資源，但並非硬性限制。如果您發現應用程式經常超過這些配額，您可以[請求提高服務配額](#swf-dg-limits-how-to-increase)。

**Contents**
+ [Amazon SWF 的一般帳戶配額](#swf-dg-limits-general)
+ [工作流程執行的配額](#swf-dg-limits-workflow-executions)
+ [任務執行的配額](#swf-dg-limits-tasks)
+ [Amazon SWF 限流配額](#swf-throttling-limits)
  + [調節所有區域的配額](#throttle-limits-all-regions)
  + [所有區域的決策配額](#decision-quota-limits-all-regions)
  + [工作流程層級配額](#wf-wflow-level-quotas)
+ [請求提高配額](#swf-dg-limits-how-to-increase)

## Amazon SWF 的一般帳戶配額
<a name="swf-dg-limits-general"></a>
+ **註冊網域上限** – 100

  此配額包括已註冊和已棄用的網域。
+ **工作流程和活動類型上限** – 每個網域 10，000 個

  此配額包括已註冊和已棄用的類型。
+ **API 呼叫配額** – 除了不常峰值之外，如果應用程式在非常短的時間內進行大量 API 呼叫，則可能會調節應用程式。
+ **請求大小上限** – 每個請求 1 MB

  這是每個 Amazon SWF API 請求*的總*資料大小，包括請求標頭和所有其他相關聯的請求資料。
+ ***計數* APIs 的截斷回應** – 表示已達到內部配額，且回應不是完整計數。

   在傳回完整回應之前，某些查詢將在內部達到上述的 1 MB 配額。以下會傳回截斷的回應，不會傳回完整的計數。
  + [CountClosedWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountClosedWorkflowExecutions.html)
  + [CountOpenWorkflowExecutions](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountOpenWorkflowExecutions.html)
  + [CountPendingActivityTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingActivityTasks.html)
  + [CountPendingDecisionTasks](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_CountPendingDecisionTasks.html)

  如果 `truncated` 回應設為 true，則其每個計數都會少於完整數量。此內部配額無法增加。
+ **標籤數量上限** – 每個資源 50 個標籤。

  嘗試新增超過 50 個標籤將會產生 400 錯誤：`TooManyTagsFault`。

## 工作流程執行的配額
<a name="swf-dg-limits-workflow-executions"></a>
+ **開啟的工作流程執行上限** – 每個網域 100，000 個

  此計數包含子工作流程執行。
+ **工作流程執行時間上限** – 1 年。這是無法變更的硬性配額。
+ **工作流程執行歷史記錄大小上限** – 25，000 個事件。這是無法變更的硬性配額。

  最佳實務是建構每個工作流程，讓它的歷史記錄不要成長超過 10,000 個事件。由於決策者必須擷取工作流程歷史記錄，較小的歷史記錄可讓決策者更快完成。如果使用 [Flow Framework](resources.md#aws-flow-framework-documentation)，您可以使用 ContinueAsNew 以全新的歷史記錄繼續工作流程。
+ **開啟的子工作流程執行上限** – 每個工作流程執行 1，000 個

如果您的使用案例要求您超過這些配額，您可以使用 Amazon SWF 提供的功能，繼續使用[子工作流程](swf-dev-adv-child-workflows.md)執行來繼續執行和建構應用程式。如果您發現仍然需要增加配額，請參閱 [請求提高配額](#swf-dg-limits-how-to-increase)。

## 任務執行的配額
<a name="swf-dg-limits-tasks"></a>
+ **每個任務清單的輪詢器上限** – 每個任務清單 1，000 個

  可同時輪詢特定任務清單的輪詢器上限為 1,000 個。如果超過 1,000 個，您就會收到 `LimitExceededException`。
**注意**  
雖然上限為 1，000，但在此配額之前，您可能會遇到`LimitExceededException`錯誤。此錯誤並不表示您的任務正在延遲。相反地，這表示您在任務清單上有閒置輪詢器的最大數量。Amazon SWF 會設定此限制，以在用戶端和伺服器端儲存資源。設定限制可防止過多的輪詢器不必要的等待。您可以使用多個任務清單來分配輪詢，以減少`LimitExceededException`錯誤。
+ **每秒排程的任務上限** – 每個任務清單 2，000 個

   您可以在特定任務清單上排程每秒最多 2，000 個任務。如果您超過 2，000，您的`ScheduleActivityTask`決策將會失敗並顯示`ACTIVITY_CREATION_RATE_EXCEEDED`錯誤。
**注意**  
雖然上限為 2，000，但在此配額之前，您可能會遇到`ACTIVITY_CREATION_RATE_EXCEEDED`錯誤。若要減少這些錯誤，請使用多個任務清單來分配負載。
+ **任務執行時間上限** – 1 年 （受工作流程執行時間上限限制）

  您可以設定[活動逾時](swf-timeout-types.md)，以便在[活動任務](swf-dev-tasks.md)執行的特定階段花費太長的時間時，導致發生逾時事件。
+ **SWF 將任務保留在佇列中的時間上限** – 1 年 （受工作流程執行時間配額限制）

  您可以在活動註冊期間設定預設[活動逾時](swf-timeout-types.md)，如果[活動任務](swf-dev-tasks.md)執行的特定階段時間過長，將導致發生逾時事件。當您在決策者程式碼中排程活動任務時，您也可以覆寫預設的活動逾時。
+ **開啟活動任務上限** – 每個工作流程執行 1，000 個。

  此配額包括已排程的活動任務和工作者正在處理的活動任務。
+ **開啟計時器上限** – 每個工作流程執行 1，000 個
+ **輸入/結果資料大小上限** – 32，768 個字元

  此配額會影響活動或工作流程執行結果資料、排程活動任務或工作流程執行時的輸入資料，以及使用[工作流程執行訊號](swf-dev-adv-signals.md)傳送的輸入。
+ **決策任務回應中的決策上限** – 有所不同

  由於 [API 請求大小上限](#swf-dg-limits-general)的 1 MB 配額，在單一呼叫中傳回的決策數量`[RespondDecisionTaskCompleted](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RespondDecisionTaskCompleted.html)`會根據每個決策所使用的資料大小來限制，包括提供給排程活動任務或工作流程執行的任何輸入資料大小。

## Amazon SWF 限流配額
<a name="swf-throttling-limits"></a>

除了上述的服務配額之外，某些 Amazon SWF API 呼叫和決策事件也會受到調節，以使用[字符儲存貯](https://en.wikipedia.org/wiki/Token_bucket)體方案來維持服務頻寬。如果您的請求速率持續超過此處列出的速率，您可以[請求提高限流配額](#swf-dg-limits-how-to-increase)。

調節和決策配額在所有區域都相同。

### 調節所有區域的配額
<a name="throttle-limits-all-regions"></a>

下列配額適用於個別帳戶層級。您也可以請求提高下列配額。如需執行此操作的詳細資訊，請參閱 [請求提高配額](#swf-dg-limits-how-to-increase)。


| API 名稱 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- | --- | --- | 
|  CountClosedWorkflowExecutions  | 2000 | 6 | 
|  CountOpenWorkflowExecutions  | 2000 | 6 | 
|  CountPendingActivityTasks  | 200 | 6 | 
|  CountPendingDecisionTasks  | 200 | 6 | 
|  DeleteActivityType  | 200 | 6 | 
|  DeleteWorkflowType  | 200 | 6 | 
|  DeprecateActivityType  | 200 | 6 | 
|  DeprecateDomain  | 100 | 6 | 
|  DeprecateWorkflowType  | 200 | 6 | 
|  DescribeActivityType  | 2000 | 6 | 
|  DescribeDomain  | 200 | 6 | 
|  DescribeWorkflowExecution  | 2000 | 6 | 
|  DescribeWorkflowType  | 2000 | 6 | 
|  GetWorkflowExecutionHistory  | 2000 | 60 | 
|  ListActivityTypes  | 200 | 6 | 
|  ListClosedWorkflowExecutions  | 200 | 6 | 
|  ListDomains  | 100 | 6 | 
|  ListOpenWorkflowExecutions  | 200 | 48 | 
|  ListTagsForResource  | 50 | 30 | 
|  ListWorkflowTypes  | 200 | 6 | 
|  PollForActivityTask  | 2000 | 200 | 
|  PollForDecisionTask  | 2000 | 200 | 
|  RecordActivityTaskHeartbeat  | 2000 | 160 | 
|  RegisterActivityType  | 200 | 60 | 
|  RegisterDomain  | 100 | 6 | 
|  RegisterWorkflowType  | 200 | 60 | 
|  RequestCancelWorkflowExecution  | 2000 | 30 | 
|  RespondActivityTaskCanceled  | 2000 | 200 | 
|  RespondActivityTaskCompleted  | 2000 | 200 | 
|  RespondActivityTaskFailed  | 2000 | 200 | 
|  RespondDecisionTaskCompleted  | 2000 | 200 | 
|  SignalWorkflowExecution  | 2000 | 30 | 
|  StartWorkflowExecution  | 2000 | 200 | 
|  TagResource  | 50 | 30 | 
|  TerminateWorkflowExecution  | 2000 | 60 | 
|  UndeprecateActivityType  | 200 | 6 | 
|  UndeprecateDomain  | 100 | 6 | 
|  UndeprecateWorkflowType  | 200 | 6 | 
|  UntagResource  | 50 | 30 | 

### 所有區域的決策配額
<a name="decision-quota-limits-all-regions"></a>

下列配額適用於個別帳戶層級。您也可以請求提高下列配額。如需執行此操作的詳細資訊，請參閱 [請求提高配額](#swf-dg-limits-how-to-increase)。


| API 名稱 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- | --- | --- | 
| RequestCancelExternalWorkflowExecution | 1200 | 120 | 
| ScheduleActivityTask | 1000 | 200 | 
| SignalExternalWorkflowExecution | 1200 | 120 | 
| StartChildWorkflowExecution | 500 | 12 | 
| StartTimer | 2000 | 200 | 

### 工作流程層級配額
<a name="wf-wflow-level-quotas"></a>

下列配額適用於工作流程層級，無法增加。


| API 名稱 | 儲存貯體大小 | 每秒重新填滿速率 | 
| --- | --- | --- | 
| GetWorkflowExecutionHistory | 400 | 200 | 
| SignalWorkflowExecution | 1000 | 1000 | 
| RecordActivityTaskHeartbeat | 1000 | 1000 | 
| RequestCancelWorkflowExecution | 200 | 200 | 

## 請求提高配額
<a name="swf-dg-limits-how-to-increase"></a>

如需詳細資訊，請參閱《AWS 》**中的 [AWS 一般參考服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。