Issue
What is the best approach to using sitecore prefetch caches? Given a stand alone Sitecore server with local SQL Server, 8gb ram and 2,000 content items, should I aim to prefetch the bulk of website content up front on the assumption that it is more efficient to bulk load items? For the sake of a clearer scenario assume that prefetching all 2000 items would take up 2gb as reported by /sitecore/admin/cache.aspx
Also, does the configured prefetch cache size in relation to required size also affect performance i.e. if set 3x larger than necessary, does this result in a performance hit compared to being set at 1.1x required size?
Solution
The prefetch is a bit of a gray area. If you prefetch A LOT of content, each app restart will take longer, because its populating the prefetch. If you have very little in the prefetch, app restarts will be quick but then you’re getting little advantage from it. You should find a balance between them.
I recommend you prefetch anything that you need for the home page, e.g. the home item and its immediate children (likely for a main nav). Also, if there are other data items that are used on the home page and you know they are always used there, you can prefetch them too. I would start with the basics and slowly add to it and see how it affects performance and app restarts.
As for the sizing of the prefetch, it just define the max size. So if you set it to 3x the standard size, that means you could potentially get up to 3x more of data in the prefetch, it doesn’t guarantee you will. But the more in the prefetch, the slower app restarts, regardless.
I highly recommend you watch the Sitecore Caching Technical Deep Dive webinar to understand the prefetch. There’s only a few minutes in it about prefetch but its a really good video. It’s available on the SPN (not the SDN)
Answered By – Mark Ursino
Answer Checked By – Mildred Charles (BugsFixing Admin)