Load testing
Load testing is an important phase of every project and must be conducted with care and in coordination with Talon.One.
If you are using a prospect deployment, do not perform load testing.
Configuring your deployment for load testing
Before launch, you may have less resources in Talon.One than what you will have once in production. Ask Talon.One to configure your deployment with production-ready resources.
To do so, send an email to support@talon.one or to your Technical Account Manager and include the following information:
- Planned date / time and duration of test
- Type of test (Capacity, Stress, Soak, ...)
- Max requests per second
- The endpoints you plan to send requests to, and in what proportions
- Your availability for a call before testing starts
Once Talon.One has configured your deployment, you can start planning your load test, respecting the following best practices.
Load testing best practices
Use Dry Runs when appropriate. For more information, see Dry requests.
Use a realistic number of requests reflecting your peak traffic, or a reasonable multiplier over expected traffic.
Send Update customer session requests to Talon.One only when needed, for example when a customer adds an item/coupon to a cart.
Randomize
profileIds
andsessionIds
to avoid concurrent session updates on a given session.Managing parallel requestsFor data integrity purposes, Talon.One allows 3 parallel integration API requests per customer profile or session integration ID. Parallel requests are queued and processed sequentially. The queue is limited to 2 requests. Extra requests will receive a 409 Too many requests are updating this profile/session at the same time response.
We recommend only sending sequential requests.
This applies to the following endpoints:
For example, consider the following parallel requests:
- 1
Update customer profile
request on a givencustomerId
. This request is being processed. - 2
Update customer session
requests involving the samecustomerId
as the request above. These 2 requests are queued. - Extra requests, for example, a request to
Track event
, related to the samecustomerId
will receive a 409 response.
- 1
Performance tips
Do more with one call: The
Update customer session
and Update customer profile
endpoints offer a responseContent
property that you can use to save API calls.
For example, you can use this property to retrieve the customer
profile information without having to use another endpoint.
Reduce response time: When you query the Update customer session
or
Update customer profile
endpoint but
do not want the request to modify your Application, set the runRuleEngine
and dry
parameters to true
to send a dry request and
get faster response times.
You will still see the returned effects but there will be no change to your Application.
Use a single event for a single customer action: When implementing customer actions, consider that each event represents a single occurrence of a customer action related to a customer session or customer profile. To avoid receiving too many 409 responses, ensure that the customer action does not trigger multiple events in parallel.