on 11-10-2009 10:12 PM
We currenlty have installed Service Pack 1 for VS 2008 and are experiencing a 100% CPU Usage when we create a report via the ASP.net application. Any ideas on what might be causing this? As soon as the report is done, the CPU usage drops back to about 2%.
Thanks in advance for your help!
Assuming the version of CR you are using is 10.5 (bundles with .NET 2008) apply SP 1 doe CR 10.5 from here;
https://smpdl.sap-ag.de/~sapidp/012002523100009351512008E/crbasic2008sp1.exe
However, since the CPU returns to 2% after the report is done, depending on the hardware and complexity of the report, I'd consider this to be normal.
Ludek
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This depends on the complexity of the report and the hardware and possibly a few other variables. Also, first load of any report is usually slower, though typically not as slow as 3 to 5 minutes. But we need to start with a few questions first;
What is the version of CR you are using?
Ever apply any fixes for that version?
What is the database you are connecting to?
What is the database connection type (ODBC, OLE DB, etc.).
If as a test you try a simple one table report, how quickly does it load?
What is taking the time; load of report, display of the viewer, database connection?
Depending on the version of CR, can you run the report in the CR designer and compare the performance?
Ludek
What is the version of CR you are using?
The Crystal Report vErsion that is bundled with .NET 2008
Ever apply any fixes for that version?
SP 1
What is the database you are connecting to?
An XML Schema is the datasource. Has mutlpiple tables.
What is the database connection type (ODBC, OLE DB, etc.).
XML Scheama
If as a test you try a simple one table report, how quickly does it load?
A one table report is quick
What is taking the time; load of report, display of the viewer, database connection?
The report has about 10 sub reports and had the same datasource for each report.
The report takes about 20 seconds to set the datasource for each report
Depending on the version of CR, can you run the report in the CR designer and compare the performance?
Can I do this from Crystal Reports in Visual Studio 2008?
Thank again!
Any suggestions?
Lisa
From your answer, I take it you are passing an ADO .NET Dataset to the report.
Your first performance hit occurs due to the fact that Crystal Reports creates it's own copy of the dataset and works with that.
Second hit is due to the multiple tables. Crystal Reports does not use the table links or keys defined in the ADO .NET dataset. See [this|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note for more details.
Third hit may be the size of the dataset. We recommend no more than 2,000 rows of data.
Fourth hit is the number of subreports. You are essentially running 11 reports at the same time (10 subreports + main report). This is in a best case scenario that assumes none of the subreports is in a detail section where it would need to run some multiple number of times, depending on the number of records in the detail section.
For a bit more info, see the "[Best Practices Working with DataSets"|http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/60dfad1b-7164-2b10-60a6-8addb49473b2&overridelayout=true] presentation.
So, your solution may involve the following;
1) Do not use multiple tables in your dataset
2) Keep the dataset under 2000 rows
3) Do not place subreports into a detail section of a main report
4) Minimize the number of subreports
Alternatively, if you are using large number of rows and if possible, move away from datasets and try a direct database connection.
Ludek
We INstalled SP1 and now recieve the following error message:
Desc:System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.TypeInitializationException: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception. ---> System.Runtime.InteropServices.COMException (0x800736B1): Retrieving the COM class factory for component with CLSID {5FF57840-5172-4482-9CA3-541C7878AE0F} failed due to the following error: 800736b1.
at CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor()
Any ideas?
Edited by: Lisa Guess on Nov 11, 2009 9:35 PM
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.