Promotions
Concurrency limits
We have done stress tests on programs that include promotions in order to help you understand the upper concurrency limits (transactions being generated at the same time) that you may run into as you grow.
The purpose of the online performance test was to test different scenarios in order to compare the results and check Fund Allocation Rewarding performance evaluation:
Salesforce Sandbox configuration
- Members: 500 Thousand registered in a program
- Levels: 3 levels
- Segments: 3 segments based on levels
- Promotion: 3 promotions one per segment with 2 simple criteria rewarding points.
Performance test results for promotions
Based on our tests, it's possible to assume that an org installed using Fielo with similar promotion configurations and rules complexity and rewarding only one currency (Points) can safely process 250 transactions per second, as seen in the chart below:
In the next chart it is possible to see the number of transactions per second that Fielo can handle when processing Promotions rewarding Fund Allocation:
With the following limitations and response times:
| Scenario | Transactions per Second | Average response time (sec |
|---|---|---|
| Promotion rewarding Points | 250 TPS | 1,3 |
| External Behavior Types - Promotion rewarding points | 43,47 TPS | Batch processing |
| Promotion rewarding Funds | 140 Offline Batch | 0,65 |
*TPS = Transactions per second
Promotion scenarios were configured with 3 different promotions incentivizing events, one promotion for each segment, and 3 rules for each promotion rewarding Points.
For the bulk scenario, was executed a scenario for promotion where the test strategy was to configure Fielo external objects to incentivize opportunities created in a CRM org. After the configuration and activation of the incentives, was created a large number of opportunities in the CRM org, and then the Fielo batch to process external data was executed to process all the records. The objective was to validate that Fielo was able to handle a large number of records and to measure the time of processing.
Performance test strategy
The test was performed using the Jmeter load generator tool and installed on AWS instances spread across the globe. The test started with 350 concurrent virtual users creating events that match the promotion rules every 3 seconds.
This number of virtual users and the frequency of creating an event was possible to achieve 250 transactions per second. Every 10 minutes, we kept adding another 50 virtual users until we found the breaking point. As you can see in the graphic above, the responses from Salesforce started to fail when we tried to cross the line of 280 transactions per second done by the 450 virtual users.
This means the Fielo platform can handle 21.6 million transactions per day, independent of how many members are subscribed, or the number of promotions in your program.
The performance of the bulk operation can be impacted by having Related Data Condition configured in the Promotion. In our tests, we managed to reach 580 transactions per second without the Related Data Condition set up and, with it configured, it reached 294 transactions per second.
Updated about 1 year ago
