Postgresql belassulas

Postgresql belassulas

Hozzászólások

Van egy nehezsorsu Debian Sarge linuxos SQL szerverunk.

Az adatbázis mérete kb 60 mega dumpolva (textben). Egy db igazábol nagy táblát és kb. 15, a nagyhoz képest elhanyagolható mértűt tartalmaz.
A nagy tábla 200 oszlopot és jelenleg 100e rekordot tartalmaz áll.
Az elvégzett műveletek során hetente kb. 500-1000 új rekord kerül bele. A műveletek nagy része inkább UPDATE tranzakciós blokkokban, kb. 10-300 rekord 1 olszlopának adatai változnak egyszerre.

A tábla szerkezete : ID Integer, Item1...100 Integer, Data1...100 Varchar(10) összesen 201 mező.

Van még egy művelet, tetszőleges 2 oszlop tartalmának nullázása bizonyos rekordokban.
Ez kb 10000 rekordot jelent.

A query így néz ki pl.

Update Table Set ItemX=NULL, DataX=NULL Where ID=Y;

Ez a query egy dump/initdb/reload után (Explain Analyze szerint) kb. 3 mpig tart.
Az idő előrehaladtával, miközben napi 8 órán keresztül a fenti műveletek folynak, ennek a querynek az ideje drasztikusan nő. Kb 3 nap után már 26 mp. és ezzel arányosan az egyéb műveletek (más, ezt az adattáblát módosító queryk) végrehajtási ideje is ezzel arányosan nő. A HDD LED folyamatosan vilagit a muvelet kozben.
Eközben a többi tábla elérése és az olvasási műveletek ideje nem növekszik érezhetően.

A problémát VACCUM ANALYZE nem oldja meg, csak a dump/initdb/reload, azután megint OK minden.

A szerver egy AthlonXP 1800, 2 IDE-s HDD SoftRaid, EXT3.

Milyen verzió? csomagból/forrásból raktad fel? Indexek körül érdemes lenne szétnézni...

[quote:2ad1a03457="wwrreecckk"]Milyen verzió? csomagból/forrásból raktad fel? Indexek körül érdemes lenne szétnézni...

Csomagbol, 7.4.3-3, de az elozo verzio is csinalta.

Az iras a lassu. Par napig jo, es utana lassul be.

Ja, es 512MiB RAM van a gepben.

man vacuum
man analyze

Olvasgass, mert rad fer :) Csak hogy tudd mi is az a pg, hogy mukodik, ilyenek. contrib-bol pg_autovacuum-ot lodd be, fusson.

Milyen klienset használsz?
Nekem egy 24/7 ugyeleten jelentkezett hasonlo, tobb nap utáni drasztikus lassulás, folyamatosan világító vinyó.
Azt a klienst C-ben írtam és elfelejtettem felszabaditani a handlert, így felzabálta a memóriát. (persze ez egygépes rendszer, ha nálad külön van a kliens, akkor nem ilyesmi okozza)
Eleinte nem akartam elhinni az ügyeleteseknek, hogy újraindítástól megjavul, de amikor a folyamatos vinyózást is megfigyelték, akkor kezdtem vizsgálni a memória felhasználást.

[quote:cac9145575="zedorg"]man vacuum
man analyze

Olvasgass, mert rad fer :) Csak hogy tudd mi is az a pg, hogy mukodik, ilyenek. contrib-bol pg_autovacuum-ot lodd be, fusson.

Amint irtam:
[quote:cac9145575="x15"]
A problémát VACCUM ANALYZE nem oldja meg, csak a dump/initdb/reload, azután megint OK minden.

2 orankent fut, hajnalban pedig egy full (-f) is lemegy.

[quote:cac9145575="soky"]
Milyen klienset használsz?
Nekem egy 24/7 ugyeleten jelentkezett hasonlo, tobb nap utáni drasztikus lassulás, folyamatosan világító vinyó.
Azt a klienst C-ben írtam és elfelejtettem felszabaditani a handlert, így felzabálta a memóriát. (persze ez egygépes rendszer, ha nálad külön van a kliens, akkor nem ilyesmi okozza)
Eleinte nem akartam elhinni az ügyeleteseknek, hogy újraindítástól megjavul, de amikor a folyamatos vinyózást is megfigyelték, akkor kezdtem vizsgálni a memória felhasználást.

A kliensek windozosak, BCB3.
Kernel 2.6.8...
Ujrainditastol nem javul meg, ugy tunik maga a binaris adatbazis fragmentalodik.

explain analyze mit mutat amikor gyors es amikor lassu?

A tabla mennyire modosul? (insert/update/delete surusege). Ha surun, reindex?

default_statistics_target-od mennyi?

sorok szama hogy alakul a tablaba?

[quote:86ab589e74="zedorg"]explain analyze mit mutat amikor gyors es amikor lassu?

A tabla mennyire modosul? (insert/update/delete surusege). Ha surun, reindex?

default_statistics_target-od mennyi?

sorok szama hogy alakul a tablaba?

Sajnos nem tudom, mert nem lassul le elegge :-)
Egyebkent a szoras eleg nagy, 6..10mp.

A default_statistics_target default ertek (10).
Mennyit irjak?

[quote:53b0a39600="x15"]
Sajnos nem tudom, mert nem lassul le elegge :-)
Egyebkent a szoras eleg nagy, 6..10mp.

A default_statistics_target default ertek (10).
Mennyit irjak?

akkor azokra a kerdesekre leld meg a valasszt, x nap utan mint irtad belassul, teszteld, nezd meg amiket kerdeztem, ird fel :) Valamint nezd meg reindex hatasara mi tortenik, majd ha lassu lessz.

default_statistics_target nem art ha 100-on van legalabb, jobb az index szorasa :)

Tudom, hogy nem ide tartozik, de tud valaki egy jo magyar postgreses levlistat, vagy forumot?
Jomagam is sokszor talalkoztam egy-ket problemaval, es bar a posrgres.org os levlistan, vagy a google-n altalaban megtalaltam a megoldast, de kerdes van-e hasonlo magyar magyar forum.

Szipka

[quote:4bc004683d="zedorg"][quote:4bc004683d="x15"]
Sajnos nem tudom, mert nem lassul le elegge :-)
Egyebkent a szoras eleg nagy, 6..10mp.

A default_statistics_target default ertek (10).
Mennyit irjak?

akkor azokra a kerdesekre leld meg a valasszt, x nap utan mint irtad belassul, teszteld, nezd meg amiket kerdeztem, ird fel :) Valamint nezd meg reindex hatasara mi tortenik, majd ha lassu lessz.

default_statistics_target nem art ha 100-on van legalabb, jobb az index szorasa :)

http://list.dev.hu/cgi-bin/mailman/listinfo/sq-l Itt a magyar sql scene legjava ;)