![]() |
Speicherproblem bei Restresponse nach Dataset - Seattle
Hallo,
ich hab hier ein seltsames Problem bei Abruf eines Services mit der Datenmenge des Response. Ich bin leider nicht für den Service zuständig, muss daher nehmen was ich bekomme. Der Service liefert nach OAuth2-Anmeldung einen JsonResponse, welcher an ein Dataset übergeben in einem Grid dargestellt wird. Anfänglich bekam ich ca. 400000 DS mit vier Felder und alles lief wie gewünscht. Zwischenzeitlich wurde um drei Felder erweitert und ich bekomme entweder einen out of memory bei einer Prozessspeicherlast von ca. 2GB oder einen Listindex(2) Fehler. Gibt es eine Speicherbegrenzung beim RestResponseDataset-Adapter? Hoffe es kann mir jemand helfen! |
AW: Speicherproblem bei Restresponse nach Dataset - Seattle
Hallo,
32-Bit hat natürlich eine Speicherbegrenzung. |
AW: Speicherproblem bei Restresponse nach Dataset - Seattle
Ne, daran liegt es sicher nicht, 32bit lassen einen 4GB Adressraum zu.
Und wenn ich zur Verarbeitung von vielleicht 70-80MB Daten schon 2GB für DS und MT beanspruche, frage ich mich wofür? Ich finde da ist noch Potential am JSON2Dataset-Konzept. Lustig ist auch die Verdoppellung der Prozessorlast im Asynchronen Abruf, dadurch konnte ich aber die kritische Stelle ermitteln. Der Request und Datentransfer des Service bereitet keine Probleme, das Problen tritt scheinbar beim füllen des MT's auf. Wenn ich keine Lösung finden sollte, werde ich wohl zu Fuß gehen müssen. Hat jemand noch eine Idee? |
AW: Speicherproblem bei Restresponse nach Dataset - Seattle
Hi,
also erstmal bei einem 32Bit-Prozess kannst du über folgendes PE-Flag deinen verfügbaren Speicher erhöhen:
Delphi-Quellcode:
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
Ich habe die Beobachtung gemacht, dass die JSON-Implementierung von Embarcadero recht speicherintensiv ist. Falls du das selber umsetzen willst kannst du dir mal die JsonDataObjects-Implementierung anschauen. Kannst du vielleicht bei deiner Schnittstelle nur häppchenweise abfragen? Könnte auch eine Alternative sein. Gruß, Manuel |
AW: Speicherproblem bei Restresponse nach Dataset - Seattle
Zitat:
Zitat:
Allerdings hat ein Versuch mit ParseJsonValues den gleichen Speicherverbrauch, den zu Fuß weg selbst zu parsen und zu füllen habe ich noch nicht getestet. Zitat:
Ein FlatFile mit den Infos wäre performanter und schonender für die Resourcen ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz