Quantcast
Channel: SQL Server Analysis Services forum
Viewing all articles
Browse latest Browse all 14337

Performance hit on first user connection to SSAS Tabular Cube

$
0
0

Hello All,

I'd like to ask for some help with an issue we've been having with SSAS Tabular.
We're using SSAS 2012, users can connect to the Cube via Excel or via SSRS using windows authentication.
All active directory users have the same SSAS role with read permissions. 
We are also using row level security based on the User name.

We've recently been seeing a performance hit of around 30 seconds + high CPU use each time a user connects to the SSAS cube for the first time on a certain day and this happens for all users individually.
Unfortunately this causes the server to be completely overloaded as soon as we have 10 concurrent users.

In case the user has managed to connect once, all subsequent queries are executed normally without any performance hit for the rest of the day.

However when we perform any type of processing or we perform a ClearCache XMLA query the performance hit appears again. As we perform a full process of the SSAS cube each day, we also get the performance hit again each day.

Looking at SQL Server profiler we can see which events cause the performance hit: 
For each user we see SSAS is executing a lot of MDX scripts, concerning cube metadata, see three examples below:

Example 1: MdxScript(3, 1): ALTER CUBE CURRENTCUBE UPDATE DIMENSION Measures, Default_Member = [__No measures defined]

Example 2: MdxScript(6, 1): CREATE MEASURE 'FactFallRegistration'[# Falls]=COUNTROWS(FactFallRegistration)

… (many more measures)

Example 3: CALCULATE;

CREATE MEMBER CURRENTCUBE.Measures.[__No measures defined] AS 1;

ALTER CUBE CURRENTCUBE UPDATE DIMENSION Measures, Default_Member = [__No measures defined];

----------------------------------------------------------

-- PowerPivot measures command (do not modify manually) --

----------------------------------------------------------

CREATE MEASURE 'FactFallRegistration'[# Falls]=COUNTROWS(FactFallRegistration);

… (many more measures)

 

For each user, we see that the exact same range of mdx scripts is executed three times, taking around 10 seconds per range of mdx scripts, giving a total of 30 seconds per user. 
It seems strange that SSAS needs to execute the exact same scripts 3 times over, so the issue might be found here?
Does anyone have an idea why SSAS needs to execute those metadata related mdx scripts for each user individually?

We have no idea how we can optimize this so any help would be greatly appreciated.





Viewing all articles
Browse latest Browse all 14337

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>