how to quickly deliver first page to client reportviewer instead of wait for the full query data?
hi guys: i have a report with a loot of rows, in a tablix and of course the viewer report control renders a page at a time, my problem started as "the time it takes to show something(useful) to the user is too long". after some research i found that if a report doesn´t reference the global variable for total pages it wold work in a way that shows you the first page even if the data hasn´t been fully retrieved. after checked my report i did not found a trace about this variable(it has no header or footer, just a tablix). then confident in my new info, i took another approach and there is the description: 1 virtual machine for SQL Server 1 instance for reports data 1 instance for report server db 1 virtual machine for SSRS 1 virtual machine for a browser (jeje) every virtual machine on a diferent pc, because these guys love to fight for resources and this way i can monitor their work in task manager or process explorer. then i observed the behavior as i requested my reports with diferent filter values. my findings were: - the time from report to report grows in a linear behavior. until RAM was not enough for ssrs VM and had to do some memory page work - the time for a large report requires for the ssrs virtual machine to do memroy page work several times and this of course impacts the report generation performance - for every request there is a period of time when the VM(virtual machine) was making readings from network(Process Explorer) then when all the readings ended after some processing it generated the report with no further network readings, but when the report data was large enough this readings were interrupted by some "memory pagging work", and then continued the network readings. after all this again after some processing the report came to the report viewer. Now my problem: How can i make the report to trully render the first page without waiting the 15 minutes for all the query data to be retrieved? it´s there something else to look for apart from the "total pages" global variable? thanks in advance for your support.me.
April 29th, 2011 3:54pm

Hi ImegaI, Thanks for your detail description, from your information, I get that you want to know some method to render the first page firstly without waiting the 15 minutes for all the query data to be retrieved. If the report takes too much time to render, you could add a page break to the report, as a user pages through a report, the report processor combines data and report layout information for each report page and passes the page to the report renderer. For a report that has no page breaks, the whole report must be processed before the user can view the first page. You could also utilize cache process mechanism, with this mechanism, the Report Server can cache the intermediate format of the report, to shorten the time required to retrieve a report. This accelerated retrieval can mean an improved user experience, particularly in cases where the report is large or accessed frequently. Caching is a performance-enhancement technique that is effective in many cases. Besides cache process mechanism, you could also use snapshot or subscription, both of these methods are performance-enhancement techniques. For more information about Caching SSRS Reports for Performance, please see http://blogs.technet.com/b/rob/archive/2010/02/11/caching-ssrs-reports-for-performance.aspx Here is a document about troubleshooting report performance, you could click it to learn more: http://msdn.microsoft.com/en-us/library/bb522806.aspx Thanks, Challen FuPlease remember to mark the replies as answers if they help and unmark them if they provide no help.
Free Windows Admin Tool Kit Click here and download it now
May 1st, 2011 11:19pm

Hi, since it was a single tablix with no groups, i had no control over the page breack situation, mainly because the control itself sliced them, and then the checkbox for pagebreak did have no efect at all. after some research i found the executionlog2 consulting alternative, and the byte count was high. 1.- i took another route: to "index" my records with a rowcount with an incremental value each(n rows) creating a page for every n rows. 2.- then i added a parent group to my detailed rows with this rowcount value, and checked the pagebreack between instances. with some test, it became a really slim bytecount result, and the overall performance was good. from 14 min to 40 secs(because of an aditional maxrowcount where condition). the page navigation became fast and the first page was fast to show up. But it was no gold, after effects include my interactive sort to become unstable and doesn´t behave as did before. now, a sort action affects only my actual page, not all the result from my query. is there a way to sort all my result with an interactive sort? me.
May 18th, 2011 12:39pm

Hi, This thread is a little old, besides, you have another issue about Interactive sort, could you please create a new thread? Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Free Windows Admin Tool Kit Click here and download it now
May 18th, 2011 9:24pm

that was my first thougth but since there was some context behind my question instead of start a new soap story, i tried to continue from the point i were, but you are right, this is a diferent matter i´ll start a new thread. thanksme.
May 19th, 2011 12:55pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics