Domino 9 und frühere Versionen > ND8: Entwicklung
Agent mit vielen Datenbank-Zugriffen - Performance Problem
umi:
Hi
Ich würde jetzt probieren, ob das ersetzen der Evaluates etwas bringt.
Zuerst die 10 Ansichten in LS initialisieren ( vor dem Loop) und dann mit mit dem Tipp von Tode weitermachen.
DaHias:
So erste Tests gemacht, erstmal mit der Lösung von Toni. Jetzige Dauer: 17 Sekunden (zweiter Lauf: 26 Sekunden)
Ich würde mal sagen, das ist doch eine deutliche Verbesserung :)
Ich teste noch etwas, aber das scheint mir auf jeden Fall der richtige Weg:
--- Code: --- Set viewAPW = dbAPW.GetView("MyActivities")
Set viewFremdMA = dbAPW.GetView("MyLeavingFremdMA")
Set vieweUAN = dbeUAN.GetView("MyActivities")
Set viewCar = dbCar.GetView("MyActivities")
Set viewKantine = dbKantine.GetView("MyActivities")
Set viewPA = dbPA.GetView("MyActivities")
Set viewReise = dbReise.GetView("MyActivities")
Set viewUSA = dbUSA.GetView("MyActivities")
Set viewWB = dbWB.GetView("MyActivities")
Set viewSWG = dbSWG.GetView("MyActivities")
'Soll die Standardwerte in den Dokumente aktualisieren um für jeden User die offenen Tasks berechnen zu können
Set doc = dc.GetFirstDocument
While Not doc Is Nothing
NotesName = doc.NotesName(0)
doc.CtAPW = viewAPW.GetAllDocumentsByKey(NotesName).Count
doc.CtFremdMAToGo = viewAPW.GetAllDocumentsByKey(NotesName).Count
doc.CteUAN = vieweUAN.GetAllDocumentsByKey(NotesName).Count
doc.CtCar = viewCar.GetAllDocumentsByKey(NotesName).Count
doc.CtKantine = viewKantine.GetAllDocumentsByKey(NotesName).Count
doc.CtPA = viewPA.GetAllDocumentsByKey(NotesName).Count
doc.CtReise = viewReise.GetAllDocumentsByKey(NotesName).Count
doc.CtUSA = viewUSA.GetAllDocumentsByKey(NotesName).Count
doc.CtWB = viewWB.GetAllDocumentsByKey(NotesName).Count
doc.CtSWG = viewSWG.GetAllDocumentsByKey(NotesName).Count
Call doc.Save (True, False)
Set doc = dc.Getnextdocument(doc)
Wend
--- Ende Code ---
ghostmw:
... vielleicht gehts mit der Variante getAllEntriesByKey noch etwas schneller, wenn die Ansicht entsprechend aufgebaut ist ?
Es dürfen dann keine zusätzlichen Kategorien unterhalb der ersten Kategorie stehen.
DaHias:
@Marco: Ja das ist auch noch recht performant, dauert ungefähr immer so 22-28 Sekunden
Die andere Variante liegt aber immer um ein paar wenige Sekunden darunter. Trotzdem danke! :)
DaHias:
So, Agent läuft jetzt periodisch alle 10 Minuten auf dem produktiven Server und benötigt ca. 1-2 Sekunden
Ein besseres Ergebnis kann man nun wirklich nicht erwarten!
Vielen Dank für die Unterstützung, die Lösung aus meinem vorletzten Post hat das Problem gelöst
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln