RAM verbrauchsproblem Postgresql+ZEOS
Re: RAM verbrauchsproblem Postgresql+ZEOS
Welche Datei nimmst du denn, bei der der Speicherbedarf in die GB hoch geht?
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
ok ja jetzt wird der speicher wieder freigegeben.
wp_xyz: auch eine normale textdatei ca 25MB die kann ich aber icht verlinken^^ weil privat.
wp_xyz: auch eine normale textdatei ca 25MB die kann ich aber icht verlinken^^ weil privat.
Re: RAM verbrauchsproblem Postgresql+ZEOS
Nachdem ich das Commit aus der Schleife genommen habe und nur noch nach der Schleife ausführe wird die Tabelle in 0.4 s geschrieben (gegenüber 8 s vorher). Mein Code entspricht dem von af0815 geposteten, halt bis auf das entferne Commit.
Leider weiß ich momentan nicht so recht, wie ich unter Windows den Speicherverlauf messen soll...
Leider weiß ich momentan nicht so recht, wie ich unter Windows den Speicherverlauf messen soll...
Zuletzt geändert von wp_xyz am Sa 29. Okt 2016, 23:42, insgesamt 1-mal geändert.
Re: RAM verbrauchsproblem Postgresql+ZEOS
Wo soll ich jetzt eine 25 MB Text-Datei herkriegen?Dragon hat geschrieben:wp_xyz: auch eine normale textdatei ca 25MB die kann ich aber icht verlinken^^ weil privat.
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
wp_xyz du könntest heaptrace manuell aufrufen und in ein log schreiben
Edit:
http://www.gutenberg.org/cache/epub/3200/pg3200.txt
die sollte ca 25MB haben
Edit:
http://www.gutenberg.org/cache/epub/3200/pg3200.txt
die sollte ca 25MB haben
Zuletzt geändert von Dragon am Sa 29. Okt 2016, 21:37, insgesamt 1-mal geändert.
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: RAM verbrauchsproblem Postgresql+ZEOS
Hier die Datei, die Testdaten findet man ein paar Seiten vorher beschrieben (Am ende eines Artikel).
Edit: bei dem 3200.txt File gibt die StringReplace scheinbar auf, die dauert ewig - nach ca. 7 Minuten abgebrochen (und das ist kein schwachbrüstiger Rechner).
- Dateianhänge
-
SQLiteTextTest.zip
- Testprojekt
- (4.16 KiB) 106-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
übr die testfiledateien sind nicht meine die hab ich nur mal zufällig gefunden
mein rechner ist auch schwach ^^ . deshalb ist mir speed und ram verbrauch auch so wichtig, und aus neugier wo die fehler liegen natürlich.
mein rechner ist auch schwach ^^ . deshalb ist mir speed und ram verbrauch auch so wichtig, und aus neugier wo die fehler liegen natürlich.
Re: RAM verbrauchsproblem Postgresql+ZEOS
Die Datei werde ich gleich probieren. Ich habe mir inzwischen eine 30 MB Datei mit 2 Millionen zufälligen Strings geschrieben. Diese wird in 78 sec eingelesen, Speicherzuwachs sehe ich im Taskmanager kaum, commit nur am Ende, Mit Commit alle 200.000 Wörter dauerts 180 sec, der Speicherverlauf erscheint mir etwas flacher (aber eh kaum zu erkennen).
[EDIT]
Die 3200er Datei ist nach 11 sek fertig, Speicherzuwachs marginal. Das StringReplace des gesamten Strings (auch bei mir ein Hänger) habe ich rausgenommen und in die Schleife verlagert, wo es auf die einzelnen Wörter angewendet wird, das sollte doch auch richtig sein, oder?
Anbei auch ein Screenshot des Taskmanagers. Die Phase, während der die 3200er Datei gelesen wurde, ist gekennzeichnet
[EDIT]
Die 3200er Datei ist nach 11 sek fertig, Speicherzuwachs marginal. Das StringReplace des gesamten Strings (auch bei mir ein Hänger) habe ich rausgenommen und in die Schleife verlagert, wo es auf die einzelnen Wörter angewendet wird, das sollte doch auch richtig sein, oder?
Anbei auch ein Screenshot des Taskmanagers. Die Phase, während der die 3200er Datei gelesen wurde, ist gekennzeichnet
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
ja ist auch richtig ich habe das replace nur um die befehlszeichen von sqlite rauszufiltern
Re: RAM verbrauchsproblem Postgresql+ZEOS
Welche Befehlszeichen? Es werden doch nur die Wörter aus dem Text in die SQL-Anweisung eingesetzt, sqlite hat diese noch gar nicht gesehen.
Zuletzt geändert von wp_xyz am Sa 29. Okt 2016, 22:10, insgesamt 1-mal geändert.
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
ja aber ' mag er nicht im text jedenfalls vorher was bei englischen texten ja durchaus mal öfters kommt^^ . Da das durch die antiinjektion sachen die ihr im code geändert habt wrsl nicht mehr notwendig ist kann ich das entfernen.
Re: RAM verbrauchsproblem Postgresql+ZEOS
Nachdem wir jetzt mit Parametern arbeiten, ist das egal - das wird beim Ersetzen des Parameters automatisch richtig gemacht.
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: RAM verbrauchsproblem Postgresql+ZEOS
Wenn man es noch schneller, aber unsicher haben will,
Bei sqlite kann man nachlesen was man damit alles deaktiviert 
Code: Alles auswählen
SQLite3Connection1.ExecuteDirect('PRAGMA synchronous = OFF;')

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 162
- Registriert: Mi 31. Jul 2013, 15:07
- OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80
Re: RAM verbrauchsproblem Postgresql+ZEOS
danke für eure ganze zeit läuft jetzt alles 

-
- Beiträge: 1102
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: RAM verbrauchsproblem Postgresql+ZEOS
Regelmäßig Transaction committen.