Commerce Engine might experience the outage on start up. This happens due to the starvation of
threads resolving Commerce entities from cache. When populating a connection pool with connection objects, some incoming requests contend on the lock and block each other, especially if there are many requests at the same time.
You can populate- a connection pool with connection objects directly instead of accessing it via cache object:
- Download the Startup.cs file that populates Redis connection pool with connection objects during application start.
- Open Customer.Sample.Solution from Commerce Engine SDK.
- Navigate to Sitecore.Commerce.Engine project.
- Replace code of ConfigureServices(...) method that executes before Configure(...) method with the code from the Sample.cs file.
- Build Sitecore.Commerce.Engine project and deploy resulting assemblies to your Commerce instance.