Autor Thema: >10 berechnete Teilmasken: Performanceproblem...  (Gelesen 3983 mal)

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
>10 berechnete Teilmasken: Performanceproblem...
« am: 10.05.05 - 12:11:34 »
Es geht um "dynamische" Masken.

In einer Datenbank existiert eine Maske und ca. 20 Teilmasken.

Die Maske ist über Konfigurationsdokumente parametrisierbar:
Für einen bestimmten Anwendungsfall benötigt man Teilmaske 1, 2, 5, 10
für einen anderen Fall 2,4,5,7, für einen dritten Fall zum Beispiel 1,2,3,4,5,6,7,8,9,10

Warum diese Lösung: 20 oder Mehr Masken zu verwalten ist wesentlich schwerer und unflexibler. Ausserdem benötigt man für neue "kombinationen" der Teilmasken immer einen Entwickler mit zumindest grundkenntnissen...

Mit dieser Lösung kann jeder User mit den nötigen Rechten eine neue Maske zusammenbauen.

Soweit zur Vorgeschichte.
Nun zum Problem: wenn man in der Konfiguration mehr als 10 Teilmasken verwendet, dann braucht die Maske sehr lange (5-10 Sekunden) bevor Sie sich öffnet.

Kennt jemand so ein "Problem" bei der verwendung von vielen Teilmasken, oder kommt das aus meinem speziellen "Konstrukt" ?

Ach so: Technisch ist das so gelöst:
1 Feld (Subformlist) macht einen Lookup und kriegt z.B. 10 Teilmasken- Namen zurück.
In der Maske existieren 20 auf Formel basierende Teilmasken mit folgender Formel (exemplarisch für die 6. Teilmaske):

pos := 6;
max := @Elements( SubformList );
@If( pos > max ; @Return( "" ) ; "" );
sfName := @Subset( @Subset( SubformList ; pos ) ; -1 );

... (einige weitere Berechnungen)

sfName

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #1 am: 10.05.05 - 12:31:43 »
Das ist eigentlich bekannt, das Laden von Teilmasken braucht Zeit, das Laden von berechneten Teilmasken braucht vieeeel Zeit, und das bei Dir bis zu 20mal .......
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #2 am: 10.05.05 - 13:29:29 »
Ja das ist bekannt und Intraware hat das im Helpdesk mal genauso gemacht. die haben dann die Anzahl der Teilmasken von irgendwann 14 auf maximal 8 zurückgeschraubt.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #3 am: 10.05.05 - 13:34:35 »
könnt Ihr mir nicht mal positivere Antworten zukommen lassen  ;)

Ich hatte so was befüchtet.
Dass es sich allerdings so brutal auswirkt, hätte ich nicht gedacht.

Ich werde mal ein wenig experimentieren. Vielleicht ist es ja die Formel- Auswertung, die so viel Zeit abverlangt... Mal schauen, ob ich da nicht die eine oder andere halbe Sekunde rauskitzeln kann.

Danke für das Feedback, es hilft zwar bei meinem Problem nicht, aber ich weiss zumindest, dass ich mal wieder an eine grundsätzliche Notes- Grenze und nicht an eine Grenze meiner eigenen "Programmierkunst" gestossen bin.

Gruß
Tode

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #4 am: 10.05.05 - 14:09:52 »
Naja, ist ziemlich komplex die Geschichte, die Ladezeit hängt sowohl an der Formel als auch am Aufbau der Teilmasken, damit ist eine genauere Beschreibung als die von mir allgemein gehaltene nicht wirklich möglich. Da muss man dann schon den Fall ansehen und das Zeugs dann - wenn das Sinn macht - einzeln "profilieren"
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #5 am: 10.05.05 - 14:15:09 »
Ich habe gerade mal ein wenig herumprobiert: 8 scheint wirklich der neuralgische Punkt zu sein.

Bis 8 berechnete Teilmasken verkraftet der Client einwandfrei.
Beim hinzufügen der neunten beginnt der "Krampf": Das öffnen der Maske dauert plötzlich ca. 3-4 Sekunden länger. Reproduzierbar und vollkommen unabhängig ob in der neunten Teilmaske nur ein Feld oder 10 Felder sind.

Hmmm... ärgerlich, aber vielleicht gibt's ja noch nen Würgaround

Danke nochmal
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #6 am: 11.05.05 - 00:22:36 »
Auch meine Erfahrung deckt sich mit dem, was Du gerade entdeckst und was Jens bereits bestätigt hat: Subforms kosten Zeit, berechnete Subforms kosten noch mehr Zeit.
Ich habe allerdings noch niemals bei wenigen (ein, zwei, drei) Subforms messbare Performanceeinbrüche gespürt, die auf die Subforms an sich zurückzuführen waren.
Erlebt habe ich allerdings schon mal (noch R5) eine kuriose Geschichte: Subforms (auf jeden Fall weniger als acht !) führten dazu, dass man beim Öffnen eines Dokuments jedem Byte einzeln die Hand schütteln konnte.
Als Ursache (??) stellte sich heraus: Die Subforms haben nachträglich Aliases bekommen mit entsprechenden Änderungen in der Form an sich. Als dies rückgängig gemacht wurde, öffnete sich das Dokument wieder ruck-zuck.
Leider fehlte bisher die Zeit und der Leidensdruck, dieses Phänomen genauer zu untersuchen.

Ich versuche jedenfalls immer, den Einsatz von Subforms zu vermeiden oder zu minimieren. Aber irgendwann kommt man halt in die Situation ...

Auf jeden Fall: Viel Erfolg, Torsten !

Bernhard

Offline datenbanken24

  • Senior Mitglied
  • ****
  • Beiträge: 390
  • Geschlecht: Männlich
  • Stammgast
    • datenbanken24
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #7 am: 11.05.05 - 02:24:21 »
@Tode:

Interessant wäre mal zu wissen, ob sich Deine Maske im Web genau so verhält.
Also, wenn Du Deine Maske mit den 8 oder 20 Teilmasken mal im Browser lädst anstatt im Notes Client.

Wir haben Masken mit 40 computed Teilmasken -
(eingebunden auf analoge Art wie Du es oben beschrieben hast)
und die sind kein bißchen langsamer als mit nur 5 oder mit dem ganzen Code direkt in der Maske,
also keinerlei Performanceprobleme.
Allerdings im Web !
Also der nur der Server arbeitet - nicht der Client.
Im NotesClient habe ich die Maske, glaube ich, noch nie geöffnet.

Wenn der Verlangsamungseffekt bei Dir im Browser genau so auftritt, könnte es noch an der Programmierung liegen und es gibt Hoffnung für Dich - wenn es im Browser ohne Verzögerung geht, liegts wohl doch am Notes-Client...

Gruß,
Uwe

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #8 am: 11.05.05 - 07:15:04 »
Bernhard: Ich meine, da gabs mal einen Issue mit Subforms und Aliases in R5, müsste eigentlich in der KB zu finden sein, kann aber auch sein, dass mich die Erinnerung täuscht.

Uwe: Ich denke mal, die Web-Situation ist nicht zu vergleichen mit der Client-Situation. Im Web hat der Server verhältnismässig viel Zeit, das Formular aufzubauen, weil die Engpässe eher im HTTP oder in der Uebermittlung zu suchen sind, somit haben Rendering-Probleme - wegen der Multithread-Fähigkeit von Domino - geringere Einflüsse als im Client. Ausserdem cached der HTTP Formulare sehr effektiv, man müsste also bei einem solchen Test den Einfluss des HTTP-Cache mitberücksichtigen (und der lebt länger als der Server selber, heisst das Testszenario in diesem Falle muss gut geplant werden)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #9 am: 11.05.05 - 07:19:54 »
@datenbanken24
es liegt nicht an der Programmierung, beim Verwenden im Notes-Client ist es so.
Wenn Du 30 leere Teilmasken anlegst und alle in einem Dokument anzeigen willst kannst Du zwischendurch eine Kanne Kaffee kochen gehen. Die ganze Sache wird auch nicht linear langsamer sondern die letzten bringen den Geschwindigkeitsverlust.
Gruß
Dirk

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #10 am: 11.05.05 - 08:26:16 »
@diali: das ist genau das was ich auch beobachtet habe...

Ich wünschte mir, es wäre auf "schlampige Programmierung" meinerseits zurückzuführen. dann könnte ich nämlich was tun... aber so.

Ich werde jetzt noch einen Versuch starten (von hinten durch die Brust ins auge, werde ihn aber nur posten, wenn er irgend was gebracht hat, weil der Ansatz an sich schon "hahnebüchend" ist), und dann schauen, wie ich würgarounden kann (wieder mehrere Teilmasken zusammenfassen, die normalerweise zusammen erscheinen) und so an flexibilität verlieren, oder sonst irgendwie ne lösung suchen).

Danke für den regen Einsatz, ich halte Euch auf dem laufenden.

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #11 am: 11.05.05 - 08:31:49 »
vielleicht hilft Dir dies weiter - ich habe aus den Teilmasken Antwort-Masken gemacht und lasse diese in einer eingebetteten Ansicht anzeigen.
Gruß
Dirk

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: >10 berechnete Teilmasken: Performanceproblem...
« Antwort #12 am: 11.05.05 - 08:39:23 »
nein, sorri @diali, diese Lösung ist für meinen Fall nicht geeignet....

Aber für andere Anwendungen werde ich mir das mal vormerken.

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz