Postgres Performance ?
Karel Zak
zakkr na zf.jcu.cz
Čtvrtek Červenec 18 10:46:01 CEST 2002
On Wed, Jul 17, 2002 at 06:41:47PM +0200, Lukas Maly wrote:
> Velice pomohlo pouziti VACUUM
>
> vacuumdb -d rt2 --analyze
To je vhodne provadet primerene casto (tedy v zavislosti na tom jak
casto provadite UPDATE/DELETE).
> Me hlavne zajimalo, zda nekdo resil nastaveni
>
> /usr/local/pgsql/data/postgresql.conf
>
> --~--
>
> #
> # Performance
> #
> sort_mem = 512
> shared_buffers = 64 # min 16
> fsync = true
^^^^^
Pokud ta DB relativne casto zapisuje tak toto muze byt pomerne
zajimave nastaveni. Pokud mate jistotu, ze ta DB nebude nasilne
ukoncena (napr. mate UPS) tak muzete zkusit dat "false".
> Ted postmaster zpoustim takto:
> /usr/local/bin/postmaster '-D' '/home/postgres/data' '-i' '-d' '2'
>
> drive tomu tak nebylo a proto jsem v logu samotne dotazy
>
> Zkousel jsem i -d 3 ale 2 snad postaci.
Na bezny provoz bude, ale lepsi ten debug mod vypnout.
Co se tyka nastaveni velikosti 'sort_mem' a 'shared_buffers' tak
zalezi na mnozstvi pameti. Ty hodnoty take muzete nastavit jako
parametri pri startu. Ja mam napr.:
-B 2000 -d 2 -i -c log_connections=on -F -o \"-S 5000\"
-B a -S jsou v KB. To -o \"-S 5000\" jsou parametry ktere maji byt
predane z postmastru beznym serverum.
> v priloze zasilam log ktery jsem ziskal takto
>
> tail -f /var/log/postgresql.log > /tmp/test
> cat /tmp/test | grep query: > grep_query_postgres.log
>
> Tento log vzniknul po kliknuti na jeden stezejni odkaz (kriticka
> zalezitost) comment v aplikaci Request Tracker. Osobne me zarazi ze dany
> click se 1571x dotaze do databaze.
Koukal jsem na to. Autori toho softu miluji zavorky :-) To mnozstvi
tech dotazu je dost hrozne vzlaste kdyz je jich 338 z tech 1571
duplikatnich v ramci jedne akce, oblibene je volani tolower()...
Osobne si myslim, ze vzhledem k mnozstvi tech dotazu to bude asi pomale
vzdy, alespon u PG kde je parsovani dotazu o neco pomalejsi nez treba
u MySQL. Mozna by autori toho softu meli vice premyslet nad efektivitou...
Zkuste "sort < ten.log > neco" a pak se podivejte na cca 5
nejpouzivanejsich dotazu a zkuste v klientskem programu "pgsql"
nad danou DB prikaz "EXPLAIN dotaz" kde dotaz je neco z tech peti
nejpouzivanejsich. Melo by vam to odhalit pouzivani indexu apod.
Danou aplikaci neznam, ale to co jem zatim videl mne desi :-)
> Jeste jednou se omlouvam za spatne vyjadreni. Do konferenci nepisu tak
> casto a hlavne nejsem postgres guru.
To chce cas :-)
Karel
--
Karel Zak <zakkr na zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Další informace o konferenci Test