December 3, 2019 at 9:50 am
Ahoi,
from what an external consultant once told me, the cube cache is cleared once a partition is processed. This results in queries executed from these measures/partitions being slower. This is problematic since we daily process the partitions of the current year, which leads to the cache being cleared every morning.
This is what i could also observe and confirm, if a report was just run and than rerun immediatly after it is obviously running faster since the results has already been cached. My users also reported: over the day, times are going down since more and more data has been requested and is in cache already.
When i try to find stuff about caching in SSAS I stumble across Proactive Caching, which sounds exactly what i am looking for, but from what i am reading it is something totally different from what i am expecting. I do not care about changes being made in my relational database in the background.
What i am looking for is an option to somehow pre cache certain partitions after they have been freshly processed, so that once a user requests data from it, the cache is not totally empty and it must all be taken from "scratch".
EDIT:
Something like this seems to exist for SSRS
I also found something in this slideshare mentioning cube aggregations, which i should take a look into?
https://de.slideshare.net/LuisGoldster/how-analysis-services-caching-works-61715847
I want to be the very best
Like no one ever was
December 3, 2019 at 11:44 am
Aggregations will help with performance and is definitely something worth looking at. You're right, proactive caching isn't really what you want to do here...you just want to warm the cache to improve query performance.
Assuming that you know what the most common queries are (and if you don't you should capture that in the logs), I'd recommend executing a few of those queries in a scheduled job and as part of your cube refresh process. This will warm the cache and give you the additional performance boost you're looking for.
December 4, 2019 at 10:11 am
Aggregations will help with performance and is definitely something worth looking at. You're right, proactive caching isn't really what you want to do here...you just want to warm the cache to improve query performance.
Assuming that you know what the most common queries are (and if you don't you should capture that in the logs), I'd recommend executing a few of those queries in a scheduled job and as part of your cube refresh process. This will warm the cache and give you the additional performance boost you're looking for.
Ok, i am going to do 2 things:
The question is though, is there a way to do this scheduled and automated?
Run Trace in a timespan and save the results into a table?
I want to be the very best
Like no one ever was
December 4, 2019 at 12:00 pm
Scheduled I'm not sure about, but you can use the SSAS flight recorder to collect query execution info either to a table or log file. Look at the instance properties to set it up.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply