Performance Considerations

This article is intended for advanced users and our partners as it requires advanced web development or Salesforce admin or programming knowledge. While the functionality is part of StoreConnect, we do not provide end user assistance to implement it beyond our help documentation. If you need help or are unsure on how to do this, you can hire one of our StoreConnect partners.

StoreConnect is built to scale with your demand, our Shared Success approach means we scale your environment according to the volume of paid orders coming into your site.

As incoming orders ramp up on your store, our system will automatically scale to add more servers and load. StoreConnect stores are able to scale to very high order volumes, and we have found that any performance issues usually relate to inefficient Workflow, Flow, Process Builder or custom custom Apex within your Salesforce environment (see below).

If your store is expecting high traffic volume (due to a marketing campaign or the like) it is best to let the support team know so we can pre-scale your servers, however, if you don’t, the system will automatically scale, just with a short delay.

If you are having high traffic volume without a comparable volume of Shared Success fees, and are suffering from site speed issues, you can contact the support team to purchase high performance servers to handle your load. As a guide, if your shared success fees are 10 times the cost of additional scaling resources, you will not be charged for extra servers.

Salesforce Performance Considerations

When StoreConnect accepts an order from one of your customer, it will usually create or update the following records for each order:

Any custom flows, workflows, process builder and custom Apex you have within your Salesforce org should be optimised so as to not delay StoreConnect from writing to the above records.

For example, if you have customisations within your Salesforce Org that take 10 seconds to complete writing to the above objects, then your maximum order rate from StoreConnect will be limited to less than 6 orders per minute.

This is because StoreConnect must write orders to Salesforce sequentially to ensure consistency in Salesforce with regards to stock levels, account creation and security.

Issues with Long Running Salesforce Custom Code

If your Salesforce Org does slow down the process of creating objects, then you will see delays in the order being placed by the customer and it appearing within Salesforce as StoreConnect just backlogs the orders waiting for your Salesforce org to finish writing.

These delays will be as long as it takes for your Salesforce Org to complete the record creation. However, the orders will not be lost, just delayed in synchronising to your Salesforce instance.

The recommended approach for a high performance StoreConnect store is to not fire custom workflows, flows, process builder processes or custom Apex on records created by StoreConnect, and instead, fire any custom code in a queueable action after StoreConnect successfully creates the record.

As a guide, any custom code in your Salesforce instance that happens before create or before update on the above record types should complete within less than a tenth of a second (0.1s) to avoid impacting the ability of your StoreConnect store from handling high traffic volume. Your Salesforce developers should also follow the Salesforce Apex Code Best Practices to ensure your code runs as efficiently as possible.

If custom actions are required on records generated or updated from your StoreConnect store, and performance is a consideration, then use highly optimised custom Apex to achieve this and avoid using Flows, Workflows or Process Builder actions.

Keeping StoreConnect record creation as fast as possible will ensure there is no backlog on orders and your customers receive their notification emails and payments as fast as possible.

 

 
Back to Documentation