We recently did an SSRS upgrade and migration going from 2008R2 to 2016 Standard SP1 on a new server. The migration was done with a ReportServer DB restore, so all the 2008 RDLs were copied over.
One of the reports is taking about 20 seconds longer to render (based on the average TimeRendering value from ExecutionLog) on the new server compared to the old one. The report has a footer, so all the pages render at runtime. There is about 1800 pages worth of data, and there are many tables with groupings / logic. There are probably ways to optimize the report, but shouldn't the same report run at least as fast on my new server?
Below is a list of things I looked at / noticed, but at this point I don't know where else to look to see why there could be a performance difference.
Old Server:
- 2008R2
- Report data source on same server
- 96GB RAM
- 4 core CPU
- 64 bit 2008R2 Windows Server
New Server:
- 2016 SP1
- Server on same SAN / physical location as report data source
- 128 GB RAM
- 4 core CPU
- 64 bit 2016 Windows Server
Things I tried (none of which made a difference):
- Opening the RDL in VS 2015 / upgrading the RDL to new version
- Running the report in Chrome vs IE 11
- Running the report on RDP
- Add new report site to compatibility list in IE
- Running a version of the report without the footer, and the render time goes down to 1 second, but the TimeProcessing increases, so the overall runtime is still the same. This was very confusing...
Things I noticed:
- Old server will use more CPU than new server. There are other processing running, so could be due to that, but new server (ssrs only) CPU will never go over 30% usage. Could this be a config somewhere?