{"id":12725,"date":"2013-09-01T07:21:00","date_gmt":"2013-09-01T07:21:00","guid":{"rendered":"https:\/\/viewmyprojects.com\/winwirewp\/?p=12725"},"modified":"2025-01-28T11:42:50","modified_gmt":"2025-01-28T11:42:50","slug":"performance-impact-with-single-page-rendering-in-ssrs","status":"publish","type":"post","link":"https:\/\/viewmyprojects.com\/winwirewp\/blog\/performance-impact-with-single-page-rendering-in-ssrs\/","title":{"rendered":"Performance Impact with Single Page Rendering in SSRS"},"content":{"rendered":"\n<p>Recently during a discussion with eminent BI geeks at work \u2013 we had a discussion how SSRS allows us to display an entire record set on just a single page. Considering the amount of performance overhead involved in displaying this record set on that single page. Just how much would that be? To figure out an answer, I set out to develop a few test case scenarios.<\/p>\n\n\n\n<p>To start with, let me walk you through my fact-finding. I defined three different steps:<\/p>\n\n\n\n<p>\u2022 Display all records on a single page of the report (ignore this if you already know it)<br>\u2022 Sample dataset and SSRS report setup<br>\u2022 Measure performance \u2013 which provides the answer to \u201cHow good of an idea is it to do so?\u201d<\/p>\n\n\n\n<p>SQL Server Reporting Services (SSRS) makes it simple and plain to show all of the records on a single page. The screenshot below displays the process; from under the Report Properties, expand<strong>InteractiveSize<\/strong><em>,<\/em>and set the<strong>Height<\/strong>property to<strong>0 in.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"280\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Properties.webp\" alt=\"\" class=\"wp-image-18034\"\/><\/figure>\n\n\n\n<p>Here are the detail activities done to accomplish:<\/p>\n\n\n\n<p class=\"blog-detail-list\">\u2022 Created a table on SQL Server database with six fields (one VARCHAR field and five DATETIME fields), loading them with 100,000 records.<br>\u2022 Developed a new SSRS report (default.rdl) and placed a table control with six columns, each corresponding to a field my SQL Server table.<br>\u2022 Duplicated the default.rdl (calling it SinglePage.rdl), but updated the InteractiveSize property<br>\u2022 Deployed and published both the reports to the Report Server.<\/p>\n\n\n\n<p>Once the activities were completed, started measuring performance metrics with the steps mentioned below:<\/p>\n\n\n\n<p class=\"blog-detail-list\">\u2022 Executed default.rdl (with all default settings), in the browser, noticing that the report showed up in just a few seconds time.<br>\u2022 Then, executed SinglePage.rdl in the browser, and noticed system started becoming unresponsive.<\/p>\n\n\n\n<p>This confirmed overhead was quite significant. To measure it precisely, I executed query using the<strong>ExecutionLog<\/strong>view that is available under the<strong>ReportServer<\/strong>database. This query proved what I had thought earlier. It was a definitely a bad idea, and the metrics proved me wrong.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"942\" height=\"181\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Metrics.webp\" alt=\"\" class=\"wp-image-18035\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Metrics.webp 942w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Metrics-300x58.webp 300w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Metrics-768x148.webp 768w\" sizes=\"auto, (max-width: 942px) 100vw, 942px\" \/><\/figure>\n\n\n\n<p>You can see from the query above, the<strong>TimeRendering<\/strong>(time spent in the renderer, measured in milliseconds) was about 24 seconds for the SinglePage report \u2013 while it was less than a half a second for the paginated one. Not only the size of the report represented by the<strong>ByteCount<\/strong>field was 76 MB for the SinglePage report but it was a mere 0.04 MB alone. The facts and findings was much to my surprise, had I increased my testing sample size by getting 100,000 records to display on a single page.<\/p>\n\n\n\n<p>This makes clear and while using tool properties you must be aware of the consequences. Setting the<strong>InteractiveSize<\/strong>property on a report should be used judiciously. The performance impact can be phenomenal.<\/p>\n\n\n\n<p class=\"blog-detail-list\"><em><strong>Important Note:<\/strong><\/em><em>The above numbers can vary based on your system resources and is not to be considered as a benchmark.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently during a discussion with eminent BI geeks at work \u2013 we had a discussion how SSRS allows us to display an entire record set on just a single page. Considering the amount of performance overhead involved in displaying this record set on that single page. Just how much would that be? To figure out&hellip; <a class=\"more-link\" href=\"https:\/\/viewmyprojects.com\/winwirewp\/blog\/performance-impact-with-single-page-rendering-in-ssrs\/\">Continue reading <span class=\"screen-reader-text\">Performance Impact with Single Page Rendering in SSRS<\/span><\/a><\/p>\n","protected":false},"author":111,"featured_media":16755,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-12725","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","entry"],"acf":[],"featured_image_src":"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp","author_info":{"display_name":"Raja","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/raja\/"},"views":3695,"uagb_featured_image_src":{"full":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp",800,440,false],"thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic-150x150.webp",150,150,true],"medium":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic-300x165.webp",300,165,true],"medium_large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic-768x422.webp",750,412,true],"large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp",750,413,false],"1536x1536":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp",800,440,false],"2048x2048":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp",800,440,false],"post-thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Performance-Impact-with-Single-Page-Rendering-in-SSRS-graphic.webp",800,440,false]},"uagb_author_info":{"display_name":"Raja","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/raja\/"},"uagb_comment_info":0,"uagb_excerpt":"Recently during a discussion with eminent BI geeks at work \u2013 we had a discussion how SSRS allows us to display an entire record set on just a single page. Considering the amount of performance overhead involved in displaying this record set on that single page. Just how much would that be? To figure out&hellip;&hellip;","_links":{"self":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12725","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/users\/111"}],"replies":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/comments?post=12725"}],"version-history":[{"count":3,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12725\/revisions"}],"predecessor-version":[{"id":22566,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/12725\/revisions\/22566"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media\/16755"}],"wp:attachment":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media?parent=12725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/categories?post=12725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/tags?post=12725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}