SSAS 2005 : Low performances with 2 dimensions using UNARY operator -
04-05-2006
, 04:23 AM
I made some tests with SSAS 2005, because, when I used dimenions with
unary operator, the performances was very bad.
I created a cube :
2 regular Dimensions
Dim 1 : 3 200 lines
Dim 2 : 150 lines
Facts : 400 000 lines
ProClarity is the client taht I use to query the cube.
Find below the details of the tests
Test 1 :
----------
No UNARY operator
Full process of dimensions and cube : Server memory (MSMDSRV) = 64 Kb,
virtual memory : 61 Kb
Open cube : server memory = 64 Kb, virtual memory : 61 Kb. Time = less
than 2 seconds
Drill to bottom level of the 2 dimensions : server memory = 195 Kb,
virtual memory : 192 Kb
Queries are very fast.
Test 2 :
----------
UNARY at the bottom level of Dim 1.
Full process of dimensions and cube : Server memory (MSMDSRV) = 70 Kb,
virtual memory : 68 Kb
Open cube : server memory = 70 Kb, virtual memory : 68 Kb. Time = less
than 2 seconds
Drill to bottom level of the 2 dimensions : server memory = 195 Kb,
virtual memory : 192 Kb
Queries are very fast.
Test 3 :
----------
UNARY at the bottom level of Dim 2.
Full process of dimensions and cube : Server memory (MSMDSRV) = 64 Kb,
virtual memory : 61 Kb
Open cube : server memory = 68 Kb, virtual memory : 65 Kb. Time = less
than 2 seconds
Drill to bottom level of the 2 dimensions : server memory = 195 Kb,
virtual memory : 192 Kb
Queries are very fast.
Test 4 :
----------
UNARY at the bottom level of Dim 1.
UNARY at the bottom level of Dim 2.
Full process of dimensions and cube : Server memory (MSMDSRV) = 64 Kb,
virtual memory : 61 Kb
Open cube : server memory = 834 Kb, virtual memory : 831 Kb. Time :
more than 1 minute, just to open the cube.
Drill to bottom level of the 2 dimensions : server memory = 962 Kb,
virtual memory : 959 Kb; Very fast
But if I navigate thru the level of the Dim 2, the memory used increase
: server memory = 1104 Kb, virtual memory : 1102 Kb
Test 5 :
----------
No UNARY on Dim 1.
Dim 2 is replaced by a parent-child dimension with 180 members. There
is a UNARY operator at the bottom level.
Full process of dimensions and cube : Server memory (MSMDSRV) = 65 Kb,
virtual memory : 62 Kb
Open cube : server memory = 68 Kb, virtual memory : 65 Kb. Time = less
than 2 seconds
Drill to bottom level of the 2 dimensions : server memory = 193 Kb,
virtual memory : 190 Kb
Very fast
Test 6 :
----------
UNARY at the bottom level of Dim 1.
Dim 2 is replaced by a parent-child dimension with 180 members. There
is a UNARY operator at the bottom level.
Full process of dimensions and cube : Server memory (MSMDSRV) = 68 Kb,
virtual memory : 66 Kb
Open cube : server memory = 834 Kb, virtual memory : 831 Kb. Time :
more than 1 minute, just to open the cube.
Drill to bottom level of the 2 dimensions : server memory = 226 Kb,
virtual memory : 223 Kb. very fast
But navigate thru the level of the Dim 2 (parent-child) is very slow :
more than 50 seconds for each drill.
Conclusion :
------------------
If you use just one dimension with unary operator. It's OK? You have
good performances. But if you use 2 or more dimensions with unary
operator, the performance become very bad, especially if the dimensions
are regular : the memory used is very large.
If somebody have information or solution, it can help me
Thanks |