![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
I think the point to make here is that remoting a query doesn't necessarily mean improved performance - although the server might have a faster CPU, this isn't the only factor at work here. What was the server CPU doing when you first ran the query, without trying to remote it? Did you do your tests with a cold cache on the client and server? In any case, it sounds like you need to explore other other avenues to improve query performance. Have you tried Usage-Based Optimisation to see if you have the aggregations needed for this query? Are there any calculated members in this query? Have you read the Analysis Services Performance Guide? http://www.microsoft.com/technet/pro.../ansvcspg.mspx Regards, Chris davidhwang (AT) usa (DOT) com (David Hwang) wrote in message news:<d9f37fcd.0403171253.3dc405e6 (AT) posting (DOT) google.com>... In an attempt to speed up a Pivot Table view, I tried changing the Execution Location (also Default Isolation Mode=1) to the server since it seemed like the client cpu was pegging while updating. After making this change, the client cpu usage is almost zero and the server cpu shows heavy usage. However, this makes the query take almost twice as long even though the server has a much faster cpu. Has anyone else seen similar behavior? Is the same work really being done on both sides? David |
#2
| |||
| |||
|
|
Thanks for the response. That Performance Guide was quite helpful for understanding many aspects of Analysis Server. Unfortunately, I wasn't able to use it to improve the performance of our system. We are constantly creating new partitions (with new data) and merging them in. Essentially doing the incremental cube updates ourselves. So in our case, we need to worry about three times: process time, merge time, and query time. It seems like anything I do to speed up one of those will slow down another one of those times. Using aggregations is great for query times, but processing and merging of the new partitions became prohibitively slow. Any suggestions for changes that might increase performance across the board? OnlyForPostingToNewsgroups (AT) hotmail (DOT) com (Chris Webb) wrote in message news:<48d9285e.0403180153.5c0f512e (AT) posting (DOT) google.com>... I think the point to make here is that remoting a query doesn't necessarily mean improved performance - although the server might have a faster CPU, this isn't the only factor at work here. What was the server CPU doing when you first ran the query, without trying to remote it? Did you do your tests with a cold cache on the client and server? In any case, it sounds like you need to explore other other avenues to improve query performance. Have you tried Usage-Based Optimisation to see if you have the aggregations needed for this query? Are there any calculated members in this query? Have you read the Analysis Services Performance Guide? http://www.microsoft.com/technet/pro.../ansvcspg.mspx Regards, Chris davidhwang (AT) usa (DOT) com (David Hwang) wrote in message news:<d9f37fcd.0403171253.3dc405e6 (AT) posting (DOT) google.com>... In an attempt to speed up a Pivot Table view, I tried changing the Execution Location (also Default Isolation Mode=1) to the server since it seemed like the client cpu was pegging while updating. After making this change, the client cpu usage is almost zero and the server cpu shows heavy usage. However, this makes the query take almost twice as long even though the server has a much faster cpu. Has anyone else seen similar behavior? Is the same work really being done on both sides? David |
#3
| |||
| |||
|
|
I think the point to make here is that remoting a query doesn' necessarily mean improved performance - although the server might hav a faster CPU, this isn't the only factor at work here. What was th server CPU doing when you first ran the query, without trying t remote it? Did you do your tests with a cold cache on the client an server In any case, it sounds like you need to explore other other avenues t improve query performance. Have you tried Usage-Based Optimisation t see if you have the aggregations needed for this query? Are there an calculated members in this query? Have you read the Analysis Service Performance Guide http://www.microsoft.com/technet/pro...n/ansvcspg.msp Regards Chri davidhwang (AT) usa (DOT) com (David Hwang) wrote in message news:<d9f37fcd.0403171253.3dc405e6 (AT) posting (DOT) google.com>.. In an attempt to speed up a Pivot Table view, I tried changing th Execution Location (also Default Isolation Mode=1) to the server sinc it seemed like the client cpu was pegging while updating. Afte making this change, the client cpu usage is almost zero and the serve cpu shows heavy usage. However, this makes the query take almos twice as long even though the server has a much faster cpu. Ha anyone else seen similar behavior? Is the same work really being don on both sides Davi |
#4
| |||
| |||
|
|
Hi David, Out of curiosity, why are you merging the partitions after processing them? Typically, with larger systems, I leave the partitions in place and process the partitions directly which will result in faster processing performance (e.g. if partition by day, only process one day of data) and faster query performance (i.e. more threads are utilized across multiple partitions which helps query performance - this is especially true with distinct count queries). Saying this, to improve a pivot table performance: 1. This is a pretty tricky thing to do and setting the execution location to the server does not make it faster (from experience, it is often slower as you have seen as well). 2. One of the ways to improve the performance of queries (outside the above statements) is to re-organize your dimensions. i.e. instead of having 3 or 4 separate dimensions, if its possible, place the dimensions into different levels of one dimensions. This will help speed up performance quite a bit for Excel. These are somethings to help - but with some additional info I may be able to assist better. HTH! Denny "David Hwang" <davidhwang (AT) usa (DOT) com> wrote in message news:d9f37fcd.0404061405.2aac1a90 (AT) posting (DOT) google.com... Thanks for the response. That Performance Guide was quite helpful for understanding many aspects of Analysis Server. Unfortunately, I wasn't able to use it to improve the performance of our system. We are constantly creating new partitions (with new data) and merging them in. Essentially doing the incremental cube updates ourselves. So in our case, we need to worry about three times: process time, merge time, and query time. It seems like anything I do to speed up one of those will slow down another one of those times. Using aggregations is great for query times, but processing and merging of the new partitions became prohibitively slow. Any suggestions for changes that might increase performance across the board? OnlyForPostingToNewsgroups (AT) hotmail (DOT) com (Chris Webb) wrote in message news:<48d9285e.0403180153.5c0f512e (AT) posting (DOT) google.com>... I think the point to make here is that remoting a query doesn't necessarily mean improved performance - although the server might have a faster CPU, this isn't the only factor at work here. What was the server CPU doing when you first ran the query, without trying to remote it? Did you do your tests with a cold cache on the client and server? In any case, it sounds like you need to explore other other avenues to improve query performance. Have you tried Usage-Based Optimisation to see if you have the aggregations needed for this query? Are there any calculated members in this query? Have you read the Analysis Services Performance Guide? http://www.microsoft.com/technet/pro.../ansvcspg.mspx Regards, Chris davidhwang (AT) usa (DOT) com (David Hwang) wrote in message news:<d9f37fcd.0403171253.3dc405e6 (AT) posting (DOT) google.com>... In an attempt to speed up a Pivot Table view, I tried changing the Execution Location (also Default Isolation Mode=1) to the server since it seemed like the client cpu was pegging while updating. After making this change, the client cpu usage is almost zero and the server cpu shows heavy usage. However, this makes the query take almost twice as long even though the server has a much faster cpu. Has anyone else seen similar behavior? Is the same work really being done on both sides? David |
#5
| |||
| |||
|
#6
| |||
| |||
|
|
Why aren't you using incremental update of the cube, rather than creating and merging temporary partions? With incremental updatate, the server creates and merges incremental partitions automatically, and this runs fast. With regard to dimension design, ensure that dimension joins are optimized away in the cube schema where possible. This can result in much faster cube processing. The other option, if even incremental update can't keep up. is to use a Real-Time ROLAP partition (if relational data is in SQL Server 2000), in which case the partition is automatically updated when new fact records are added. - Deepak *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#7
| |||
| |||
|
#8
| |||
| |||
|
|
I didn't realize that you're using DSO - in which case, there's no direct incremental update option. Have you examined the MDX queries generated for the pivot table views, and tried to optimize them - do they involve cross-joining of multiple dimensions? Also, I'm wondering what the partition processing frequency (twice a minute) is determined by - is it volume of data, real-time display requirement - since that is a factor. - Deepak *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it! |
#9
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |