Domino 9 und frühere Versionen > ND8: Entwicklung

Agent mit vielen Datenbank-Zugriffen - Performance Problem

<< < (3/4) > >>

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