Skip to main content

Load testing

Load testing is an important phase of every project and must be conducted with care and in coordination with Talon.One.

important

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

  1. Use Dry Runs when appropriate. For more information, see Dry requests.

  2. Use a realistic number of requests reflecting your peak traffic, or a reasonable multiplier over expected traffic.

  3. Send Update customer session requests to Talon.One only when needed, for example when a customer adds an item/coupon to a cart.

  4. Randomize profileIds and sessionIds to avoid concurrent session updates on a given session.

    Managing parallel requests

    For 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 given customerId. This request is being processed.
    • 2 Update customer session request involving the same customerId as the request above. These 2 requests are queued.
    • Extra requests related to the same customerId will receive a 409 response. For example, a request to Track event.

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 session 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.