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