We are using SSRS to generate PDF for one of the screen in our project. The application exports the data in the PDF format shown in the screen grid.
The SSRS report is binded from a DB view which has 160 columns and PDF also generates one image. We have limited the data of view query to return max 2000 rows which are being displayed in PDF. Another feature which is being used while rendering the PDF is hiding of certain columns based on the user inputs. So this report has165 input parameters.
This rendering is working absolutely fine with limited number of users. The main problem we are facing is when the number of hits for PDF rendering increase ,the CPU utilization of Reporting Service reaches 80 to 90 %.
The load details for this are as below
1 - The run executes 354 reports in 0.5 hr. 245 out of 354 are being served from the cache.
2 - While checking the execution , the data retrieval time is observed to be 272 milliseconds max and rendering time is around 87 sec max.
3 – The database and SSRS servers are on the same machine as per our current application architecture.
We need your views/inputs to reduce the CPU utilization as well as rendering time of PDF