Each one is a service that passes its tests and still fails in production. Pick one.
The database falls over the moment a launch goes live. The visible tests pass. Work out what production does that the tests do not.
However many visitors ask for a product at the same moment, the database is asked once.
That holds when the cached copy expires, too.
A slow product must not hold up pages for other products.
A failed load is not remembered: the next visitor gets a fresh try.
Visits after a product is loaded are served from the cache.