Autor Thema: HTTP hängt bei Zugriff auf große Views  (Gelesen 1200 mal)

Offline mind1

  • Junior Mitglied
  • **
  • Beiträge: 90
HTTP hängt bei Zugriff auf große Views
« am: 04.03.14 - 16:51:46 »
Hallo zusammen,

ich habe lange nach der Ursache gesucht und jetzt habe ich sie glaube ich identifizieren können. Bei einem 8.5.1FP3-Server von uns schießt die HTTP-Task regelmäßig ab. D.h., die rechnet sich nen Wolf auf einem Kanal und reagiert langsam. Zu sehen ist das im Task-manager des Win2008-Servers. Erst ein Neustart des Server-Dienstes hilft, damit die HTTP-Task wieder reibungslos läuft. Ohne Neustart rechnet er unendlich weiter...

Das alles passiert immer genau dann, wenn in einer großen Datenbank per Web-Broswer auf eine Ansicht zugegriffen wird und diese etwas länger braucht, um sich upzudaten. Bei uns passiert das z.B. bei Datenbanken ab 200.000 Dokumenten wenn innerhalb dieser DB so um die 50.000 Änderungen auf ein Mal rein repliziert wurden. Der Web-User greift dabei per LS-Agent auf die View zu.

Da wir teilweise noch größere Datenbanken haben, hat das auch mal heftige Auswirkungen, manchmal ist der Server für mehrere Sekunden nicht erreichbar in diesem Moment. Der LS-Agent, der das ausgelöst hat, blockiert es auch, wenn man nur die HTTP-Task neu starten will. Sie macht dann "dicht", beendet sich aber nicht richtig. Es hilft also wirklich nur der Server-Start.

Der Fehler ist also eingegrenzt und an vielen Stellen habe ich das Datenbankdesign entsprechend umgestellt, so dass auf die Dokumente nicht mehr über Views zugegriffen wird oder diese nur manuell berechnet werden. Das Datenbankdesign ist inzwischen ultraschlank. Es betrifft auch nur einen kleinen Teil einer großen Anwendung - man bekommt es also sicherlich irgendwie in den Griff.

Aber...

Kennt das jemand von Euch? Ist das ein Known-Bug? Hilft ggf. ein Update auf Domino9 oder gar diese Option mit dem Apache-Server (IBM HTTP-Server) als Proxy?

Danke, Gruß Bernd

« Letzte Änderung: 04.03.14 - 17:16:32 von mind1 »

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.169
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: HTTP hängt bei Zugriff auf große Views
« Antwort #1 am: 04.03.14 - 18:13:39 »
ich tippe mal darauf, dass der erste Zugriff auf die View den Index neu aufbaut. Dies kann in der Tat mal eine Weile dauern.
Der Web-User wird dann ungeduldig und klickt mehrmals auf den Link oder hämmert auf die F5 Taste, weil scheinbar nichts passaiert (und startet damit jedesmal einen neuen Agent, der wiederrum einen Refresh auslöst)
Dadurch laufen nun mehrere Agenten, die den selben Index (unnötigerweise) neu berechnen und natürlich immense IO-Last produzieren.

Du könntest versuchen, mit Codelocks zu arbeiten, dass max. ein gleichzeitiger Zugriff auf die Ansicht erfolgt und andere Benutzer dann eine Meldung bekommen: Bitte warten, Index wird neu aufgebaut, wenn das Lock für eine bestimmte Zeit lang nicht reserviert werden kann.
Oder du schreibst dir einen periodischen Agenten, der z.B.alle 5 min oder nach der Neuberechnung läut und auf die Ansicht zugreift. Dadurch ließe sich der Indexaufbau erzwingen und wird nicht erst aufgebaut, wenn der erste Web-User ihn benötigt.

Ein Upgrade auf Domino 9 löst das Problem meiner Meinung nach nicht und ein Reverse-Proxy bringt hier wohl auch nichts.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline mind1

  • Junior Mitglied
  • **
  • Beiträge: 90
Re: HTTP hängt bei Zugriff auf große Views
« Antwort #2 am: 05.03.14 - 10:45:29 »
Hallo Roland,

das mit den Codelocks ist schonmal ein super Tipp, danke!

Gruß, Bernd

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz