views:

429

answers:

4

hello guys recently i joined a company. They assigned me a task is to improve the performance of existing SSRS Reports .

i looked at the Stored Procedure's which are running fine .But when it comes to Report execution it's taking time .

Please let me know how to start on this thing? Thanks in Advance

A: 

Improve performance in what sense? Does it consume more memory or does it hog the cpu or does it use too much disk IO? What do you mean by saying SPs are running fine? Do they run fine but take a long time? or Do they run fine and execute quickly?

I would start by first understanding what performance metric to improve & then identifying where the bottleneck is whether it is in the report server or the database server. You can also use perfmon to identify bottlenecks.

msvcyc
Thanks for the reply... SP's are running fine in SSMS. The problem is started after binding the SP to the DataSet for report execution..
Anoop
+1  A: 
  1. Is the report doing it's own calculations on the data that is returned which could potentially take time and resources to accomplish?

  2. Is the report drawing graphs that have lots and lots of datapoints which may take longer to reproduce than a graph with a larger increment?

  3. Is the report loading images? How are the images handled? Are they embedded or linked from an outside source?

  4. Are you creating a lot of groups or drill downs which could take time on the report loading to create?

Answering these questions may start to point you in the correct direction as far as how to make your report more efficient.

TheTXI
Thanks for the reply ....As you said few reports are loading images from outside source and other reports drawing graph's
Anoop
+1  A: 

What do you mean by 'the stored procedures are running fine'? You might want to investigate this further.

  • Run the stored procedures from SSMS and view the query plans it generates. C
  • Check that the tables are indexed appropriately to speed up the queries
  • Identify and eliminate cruft like unnecessary joins, unneeded selected columns,etc
Conrad
When i run the SP's from SSMS they execute quickly,After binding the SP's to the DataSet then it's taking time
Anoop
A: 

You could look at the ExecutionLog table in the ReportServer database. This will give you the break-up of times like data retrieval, processing, rendering etc. This could get you going in the right direction.

For example, in my previous project rendering reports in MS Excel was taking a lot of time - we switched some reports to be exported by default to CSV format and that helped. Similarly, we also identified bottleneck in the report processing and added more resources to the machine. This helped too.

Gnana