Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

XML Cache für Export von Suchergebnissen nicht effektiv #79

Open
j3nsch opened this issue Aug 23, 2022 · 6 comments
Open

XML Cache für Export von Suchergebnissen nicht effektiv #79

j3nsch opened this issue Aug 23, 2022 · 6 comments

Comments

@j3nsch
Copy link
Member

j3nsch commented Aug 23, 2022

In der aktuellen Suchimplementation wird für jedes gefundene Dokument, das entsprechende Opus_Document Objekt erzeugt. Das war vor der Umstellung nicht der Fall. Vorher wurde die Anzeige der Suchergebnisse aus den von Solr gelieferten Informationen bewerkstelligt.

Kurzfristig werde ich diese neue Eigenschaft nutzen, um ein paar Tickets zu erledigen, die dadurch einfacher werden. Bei der Anzeige von 10 Dokumenten spielt diese Änderung keine Rolle. Langfristig muss überlegt werden, ob dies wieder geändert werden muss und alle notwendigen Informationen aus dem Index kommen sollten.

Die Änderung wirkt sich unter Umständen deutlich bei der Anzeige von vielen Suchergebnissen auf einmal und insbesondere beim Export von Suchergebnissen aus. Beim Export werden mehr Informationen benötigt, als vom Index geliefert werden. Um die kostspielige Instanzierung aller Dokumente zu vermeiden wurde der XML-Cache eingeführt. Das XML für ein Dokument wird aus dem Cache geholt und die Erzeugung des Objekts vermieden. Da die Objekte jetzt immer erzeugt werden, wird ein Teil des Geschwindigkeitsgewinns durch den Cache wieder zunichte gemacht.

Evtl. ändert sich die Situation später wieder, wenn wir für die Speicherung der Metadaten auf ein anderes System umsteigen sollten. Daher wird dieses Ticket vermutlich nach hinten geschoben werden, aber vorher müssen wir wissen wie stark sich die Änderung auswirkt.

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Hallo, OPUS 4 erlaubt den Export von Suchergebnissen und auch die Anzeige von mehr als 10 Ergebnissen in der Anzeige. Könnt Ihr bitte die Zeiten zwischen einem solchen Export einer großen Suche, gerne alle Dokumente, unter 4.4.5 und 4.5+ (z.B. 4.6) vergleichen? Vermutlich werde ich in der nächsten Zeit nichts ändern, aber es wäre sehr wichtig zu wissen wie groß die Auswirkungen sind. Vielen Dank!

Letztendlich betrifft es auch den Export von Suchergebnissen als BibTeX, CSV usw. könnte also wirklich unter Umständen relevant sein.

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Das Browsing basiert auch auf der Suche, aber da werden eher die Facetten verwendet. Das sollte durch diese Änderung nicht beeintroffen sein.

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Wir haben unterschiedliches Verhalten bei großen und mittleren Mengen festgestellt.

Mittlere Menge von Dokumenten - 4306 Dokumente
Zeiten beim Export für opus4-zib - alle Dokumente (4306)
Durchschnittswert für mehrere Läufe:
Vers. 4.4.5 - 20 sec
Vers. 4.5 - 22 sec
Vers. 4.6 - 22 sec

Große Anzahl von Dokumenten - 41342 Dokumente
Zeiten für* opus4-bamberg*
Vers. 4.5 - knapp 4 Minuten
Vers. 4.4.5 - konnten wir nicht durchführen

Für den Export der großen Instanz mussten wir in der php.ini Parameter erhöhen:
max_execution_time = 240
memory_limit = 8096M

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Vielen Dank. Das ist spannend. Der Zuwachs bei einer mittleren Menge ist geringer als befürchtet. Interessant ist, dass der große Export bei 4.4.5 nicht funktioniert hat. Es wäre interessant zu wissen woran das liegt. Vielleicht habe ich das Verhalten der neuen Version noch nicht richtig verstanden.

Sehen die Ergebnisse, also das XML vom ZIB für 4.4.5 und 4.6 in etwas gleich aus? Sind die Daten gespeichert etwas gleich groß? Nur zur Sicherheit, nicht das wir bei der neueren Version noch andere Dinge geändert haben.

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Die Dok-IDs werden im XML in 4.4.5 und in 4.6 in unterschiedlicher Reihenfolge ausgegeben.
In 4.4.5 werden die Dok-Ids nach der Anzeige aller Dokumente sortiert.
In 4.6 werden die Dok-Ids aufsteigend nach der Dok-Id sortiert.

Der Inhalt der exportierten Metadaten pro Dokument ist der Gleiche.

Die Größe ist der XML-Dateien unterscheidet sich ein wenig.
4.4.5 - 7.483 KB
4.6 - 7.394 KB

Der große Export von Bamberg hat aufgrund der zu geringen Parameter in der PHP.ini nicht funktioniert. Wir haben die Instanz nur auf der Produktion unter 4.4.5.
Dafür haben wir nochmal mit 4.6 und Bamberg getestet - Die Zeit war identisch mit der 4.5.

@j3nsch
Copy link
Member Author

j3nsch commented Aug 23, 2022

Danke. Das klingt so als ob wir das erst einmal ignorieren können. Wenn Ihr irgendwann auf 4.6+ umgestiegen seit, behaltet mal bitte ein paar von den 4.4.5 Instanzen damit wir später noch Vergleiche durchführen können.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant