Orders performance guidance
This article provides a reference on the expected response times when you create and manage subscriptions via Orders. The data was generated in Zuora Release 227.
The Orders API timeout limit is 120 seconds. As the following tables show, a number of factors can contribute to increased latency in Orders:
- Number of subscriptions in one Create order call
- Number of order actions in one subscription
- Number of charges processed by one order action
- Number of tiers in one charge (applicable only to the tiered pricing charge model)
The following tables provide a summary of performance data for Orders. The summary is also available for downloads as a CSV file: Zuora_performance_data_summary.csv. For a complete set of the performance data, download Zuora_performance_data_complete_datasheet.csv.
The performance data is the guidance of performance under ideal testing scenarios. Depending on your tenant situation, your results may vary from below.
Since the third-party tax engine and payment gateway are not under our control, integration with the following entities is not included in the testing scenario where the performance data is collected.
- A third-party tax engine or configurable Tax app
- A third-party payment gateway
Therefore, the payment collection and tax calculation due to the integration are not included.
Limits on Orders API
The limit of orders allowed on a subscription is 1000.
The limit of order actions allowed on a rate plan charge is 1000. However, Zuora recommends that you create at most 100 order actions on a rate plan charge to ensure the performance of the subscription. If you create more than 100 order actions, the performance might be degraded, depending on the products and charges set up in your subscription.
The limit of order line items allowed in an order is 100.
Zuora has the following limits on the Orders synchronous API to prevent performance degradation:
- Up to 50 subscriptions are allowed in a single Create order or Preview order operation call.
- Up to 50 order actions are allowed in a single Create order or Preview order operation call.
- Up to 50 order actions are allowed on a single subscription in a Create order or Preview order operation call.
If you have an Order that exceeds any limits of the above, Zuora recommends you use the following asynchronous API operations:
Zuora has the following limits on the Orders asynchronous API operations to prevent performance degradation:
- Up to 300 subscriptions are allowed in a single Create order asynchronously or Preview order asynchronously operation call.
- Up to 300 order actions are allowed in a single Create order asynchronously or Preview order asynchronously operation call.
- Up to 300 order actions are allowed on a single subscription in a Create order asynchronously or Preview order asynchronously operation call.
Create Subscription
The following table shows performance data for Create Subscription order actions. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 12 | 1 | 20 | N/A | 105 |
1 | 1 | 185 | N/A | 105 | |
115 | 1 | 1 | N/A | 106 | |
12 | 1 | 1 | N/A | 4 | |
Flat Fee Pricing | 13 | 1 | 19 | N/A | 108 |
1 | 1 | 195 | N/A | 113 | |
115 | 1 | 1 | N/A | 108 | |
13 | 1 | 1 | N/A | 4 | |
Tiered Pricing | 10 | 1 | 19 | 10 | 91 |
1 | 1 | 1 | 23500 | 106 | |
1 | 1 | 190 | 1 | 105 | |
115 | 1 | 1 | 1 | 107 | |
10 | 1 | 1 | 1 | 3 |
Cancel Subscription
The following table shows performance data for Cancel Subscription order actions. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing |
10 | 1 | 18 | N/A | 105 |
1 | 1 | 185 | N/A | 68 | |
100 | 1 | 1 | N/A | 109 | |
10 | 1 | 1 | N/A | 2 | |
Flat Fee Pricing | 8 | 1 | 16 | N/A | 111 |
1 | 1 | 190 | N/A | 72 | |
100 | 1 | 1 | N/A | 109 | |
8 | 1 | 1 | N/A | 2 | |
Tiered Pricing | 7 | 1 | 15 | 10 | 108 |
1 | 1 | 1 | 23500 | 83 | |
1 | 1 | 185 | 1 | 69 | |
100 | 1 | 1 | 1 | 106 | |
7 | 1 | 1 | 1 | 2 |
Increase Quantity
The following table shows performance data for Update Product order actions used to increase the quantity of products. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 5 | 4 | 8 | N/A | 105 |
1 | 1 | 145 | N/A | 113 | |
1 | 60 | 1 | N/A | 93 | |
80 | 1 | 1 | N/A | 105 | |
5 | 1 | 1 | N/A | 2 | |
Tiered Pricing | 4 | 5 | 6 | 10 | 90 |
1 | 1 | 1 | 15500 | 97 | |
1 | 1 | 190 | 1 | 102 | |
1 | 65 | 1 | 1 | 99 | |
90 | 1 | 1 | 1 | 95 | |
4 | 1 | 1 | 1 | 1 |
Decrease Quantity
The following table shows performance data for Update Product order actions used to decrease the quantity of products. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 5 | 4 | 8 | N/A | 94 |
1 | 1 | 145 | N/A | 105 | |
1 | 65 | 1 | N/A | 107 | |
80 | 1 | 1 | N/A | 105 | |
5 | 1 | 1 | N/A | 2 | |
Tiered Pricing | 4 | 5 | 7 | 10 | 105 |
1 | 1 | 1 | 16000 | 97 | |
1 | 1 | 190 | 1 | 83 | |
1 | 65 | 1 | 1 | 96 | |
105 | 1 | 1 | 1 | 114 | |
4 | 1 | 1 | 1 | 1 |
Change Price
The following table shows performance data for Update Product order actions used to change the price of subscription rate plan charges. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 5 | 5 | 8 | N/A | 115 |
1 | 1 | 165 | N/A | 105 | |
1 | 65 | 1 | N/A | 104 | |
85 | 1 | 1 | N/A | 100 | |
5 | 1 | 1 | N/A | 1 | |
Flat Fee Pricing | 5 | 5 | 8 | N/A | 106 |
1 | 1 | 175 | N/A | 108 | |
1 | 65 | 1 | N/A | 102 | |
90 | 1 | 1 | N/A | 108 | |
5 | 1 | 1 | N/A | 1 | |
Tiered Pricing | 4 | 5 | 6 | 10 | 77 |
1 | 1 | 1 | 10500 | 84 | |
1 | 1 | 175 | 1 | 116 | |
1 | 65 | 1 | 1 | 108 | |
85 | 1 | 1 | 1 | 102 | |
4 | 1 | 1 | 1 | 1 |
Shrink Term
The following table shows performance data for Terms and Conditions order actions used to shrink the term of subscriptions. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 12 | 1 | 20 | N/A | 85 |
1 | 1 | 185 | N/A | 68 | |
100 | 1 | 1 | N/A | 107 | |
12 | 1 | 1 | N/A | 4 | |
Flat Fee Pricing | 12 | 1 | 20 | N/A | 81 |
1 | 1 | 195 | N/A | 73 | |
100 | 1 | 1 | N/A | 103 | |
12 | 1 | 1 | N/A | 4 | |
Tiered Pricing | 11 | 1 | 19 | 10 | 92 |
1 | 1 | 1 | 23500 | 81 | |
1 | 1 | 190 | 1 | 73 | |
100 | 1 | 1 | 1 | 106 | |
11 | 1 | 1 | 1 | 3 |
Owner Transfer
The following table shows performance data for Owner Transfer order actions. The data is broken down by charge model.
Charge Model | # Subscriptions | # Actions | # Charges | # Tiers | Response Time (Seconds) |
---|---|---|---|---|---|
Per Unit Pricing | 5 | 1 | 11 | N/A | 97 |
1 | 1 | 155 | N/A | 97 | |
75 | 1 | 1 | N/A | 104 | |
5 | 1 | 1 | N/A | 1 | |
Flat Fee Pricing | 5 | 1 | 11 | N/A | 98 |
1 | 1 | 165 | N/A | 105 | |
75 | 1 | 1 | N/A | 99 | |
5 | 1 | 1 | N/A | 1 | |
Tiered Pricing | 5 | 1 | 9 | 10 | 96 |
1 | 1 | 1 | 21000 | 101 | |
1 | 1 | 165 | 1 | 104 | |
75 | 1 | 1 | 1 | 104 | |
5 | 1 | 1 | 1 | 1 |