Performance varies on many factors for EPiServer Commerce and means different things to different people. In general, an e- commerce site should perform reasonably well during peak times so that each customers shopping experience is fluid enough to effectively convert their shopping cart to a sale. In addition, a site should perform well from small catalogs (50-100 products) to extremely large catalogs (100k+).
Performance optimization checklist
In the following are some things to consider to ensure that your site is running at peak performance.
Install the latest version of EPiServer Commerce
If possible, upgrade to the latest versions of EPiServer Commerce (1 R2 SP2 and later). These versions include a number of under-the-hood performance improvements.
For large catalogs (300k+ entries)
For these types of e-commerce sites, such large catalogs can be a challenge if not configured correctly. Here are some strategies to ensure that you have as smooth as an experience as possible:
- Implement an enterprise level search provider (like Solr) which will be able to efficiently index you large catalog.
- Eliminate or reduce the number of actual calls you make to the product catalog or database when returning product information during the browsing, search, or checkout processes.
- Search is the critical element with large catalogs, because how you return that search data to you users will determine the response time.
- Consider running the EPiServer Commerce catalog system on its own server. All of the e-commerce subsystems are able to be separated out and run independently of one another.
For high volume/high load sites
Common concerns for any e-commerce site are performance during peak load times, often during the heights of shopping season during the year. Do the following to help with overall performance during these times:
- Run performance tests prior to reaching these peak times. EPiServer Commerce contains test scripts which can be modified to meet you particular scenarios and needs. You should spend as much time testing your application as you do implementing it.
- Implement your EPiServer Commerce-based site in a load balanced environment that can handle the traffic you expect.
- Consider a cloud-based hosting environment, like Amazon. EPiServer Commerce has been tested in the cloud and this will allow you to easily and rapidly scale your infrastructure, without having to invest in physical servers.
- Implement fail over or backup servers that can handle additional load.
Session state management
By default, EPiServer Commerce relies on ASP.NET for managing session states. Enabling session states has noticeable overhead. You can reduce overhead by only enabling session state on pages that need it. More information on configuring and optimizing session state can be found here: http://wiki.asp.net/page.aspx/57/session.