Fragensteller
Performance

Allgemeine Diskussion
-
Wir haben einen relativ komplexen Report in CRM 2011 mit Abfragen über Aktivitäten und Firmen, sowie SystemUser.
Mit Selects über die Filtered Views liegt die Ausführungszeit des Reports bei ca 2 Minuten.
Da der Report auch untertags aufgerufen wird, hat das zu massiven Performanceeinbußen an den Clients geführt. Zum Teil war die ActivityPointerBase so lange gelockt, daß die Clients beim Speichern von Aktivitäten einen Timeout bekommen haben.Wir haben den Report nun so umgebaut, daß er direkt auf die Tabellen zugreift. Wir konnten damit die Ausführungszeit auf ca 2 Sekunden ! drücken.+
Dies als Tip für alle, die mit ähnlichen Problemen zu kämpfen haben.
Reinhold Becker
Alle Antworten
-
Hallo Reinhold,
Dein Tipp verschweigt, das er das komplette Berechtigungskonzept von CRM umgeht und damit ausgesprochen bedenklich ist.
Und vielleicht sollte man noch darauf hinweisen, das in CRM 2011 bevorzugt die FetchXML Datasource verwendet werden sollte ;-)
Und wenn Deine Berichte Performance Probleme zeigen, dann wäre es angezeigt zunächst geeignete Indizes zu setzen und eventuell den Isolation Level der Datenbank anzupassen als mal eben schnell das Berechtigungssystem außer Kraft zu setzen.Nix für ungut
Grüße
Thomas
- Bearbeitet Thomas Bergmair Freitag, 7. September 2012 10:58 Typo
-
Hallo Thomas,
es ist nicht unbedingt als Tip für andere zu verstehen, sondern nur als Hinweis, daß die Filtered Views durch die vielen Joins und Berechtigungsabfragen unter Umständen extrem langsam sind. Daß das Berechtigungskonzept außer Kraft gesetzt ist stimmt, ist aber in sehr vielen Fällen irrelevant. So handelt es sich bei uns um einen Sales-Report, der mehrmals täglich automatisch per Email versendet wird. Da brauche ich die Berechtigungen nicht.
Wegen der Indizes hatten wir sogar ein Ticket bei Microsoft offen. Da hatte Microsoft dermaßen viele und unnütze Indizes in ActivityPointerBase gesetzt, daß die Performance sowieso schon sehr schwerfällig war. Nach einer Indexoptimierung ging's dann einigermaßen.
Wir werden auf jeden Fall in Zukunft fallweise entscheiden, welche Art des Datenzugriffs wir verwenden.
-Bei Reports, die aus CRM heraus aufgerufen werden eher über FilteredViews.
-Bei Reports, die vom Reporting Server verschickt werden eher direkt über die Tables.
-FetchXML mag ich persönlich überhaupt nicht. Sperrig und ich kann die Abfragen im Management Studio nicht testen.
liebe Grüße,
Reinhold
-
Hallo Reinhold,
der Vorteil von FetchXml ist, dass diese ebenso direkt auf die Tabellen gehen und damit einen großen Performancevorteil haben. FetchXml erhält man sehr einfach beispielsweise, indem man sich eine Suche mit der erweiterten Suche erstellt und dann dort FetchXml exportieren lässt.
Viele Grüße,
JürgenJürgen Beck
Dipl. Kfm./Wirtschaftsinformatik
MVP, MCSD.NET, MCITP DBA, MCDBA, MCSE
Microsoft Certified Business Management Solutions Professional
Microsoft Certified CRM Developer
Microsoft Certified Trainer
ComBeck IT Services & Business Solutions
Microsoft Gold Certified Partner
Microsoft Small Business Specialist
Developing & Supporting Business Applications from small business to big enterprises covering scores of sectors
http://www.combeck.de