Zpomalujici se Pg
Horak Daniel
horak na sit.plzen-city.cz
Pátek Listopad 1 12:03:23 CET 2002
:
> : > > - Proc se teda Pg nerozhodne cas od casu ten index
> prepocitat sam,
> : > > kdyz uz je jasne, ze je nekde neco spatne.
> :
> : Protoze je to blboucky a pouhy software a nechava dulezita
> rozhodnuti
> : na uzivately. IMHO je to tak dobre, protoze VACUUM si bere celkem
> : velkou rezii a pokud by si ho system delal dle vlastni
> uvahy tak by asi
> : dost lidi mohlo nadavat, ze v prave naprosto nevhodne dobe doslo k
> : zpomaleni systemu tim, ze PostgreSQL by delal neco z
> vlastni iniciativy.
> :
> :-)
>
> Ono ve skutecnosti nejde ani tak o to, ze tabulka narusta
> (co uz, zejo). Jde o to, ze ten _index_ nejak nefunguje, resp. asi
A opravdu se pouziva index? Co rika EXPLAIN pred updaty, po updatech, po
vacuum?
> zahrnuje i smazane polozky nebo tak neco. Protoze i kdyby mel pro tech
> 1000 radku skakat buhvikde po disku, tak je musim mit nactene
> behem vteriny
> v pameti a behem dalsi vteriny setridene a poslane klientovi. Jenze
> podle topu bere prislusny postmaster 100% CPU a tedy stroj
> neni omezen tim
> ze by tabulka byla rozeseta nekde po disku, ale tim ze nekde pocita
> nejaky divny index. Dokazu si predstavit, ze to muze fungovat treba
> tak blbe, ze se podle primarniho klice dostanu na vsechny
> verze prislusneho
> radku, ktere kdy v tabulce byly, a musim sekvencne vybrat ten
> pravy, ktery je
> samozrejme az na konci.
Znamy problem s indexy je ten, ze ani VACUUM FULL je neumi "zmensit" -
tj. odstranit polozky patrici smazanym zaznamum apod. Je tedy nutne
indexy znovu vytvorit.
>
> : > > - Jak tenhle problem odstranit, pokud nechci periodicky
> po nekolika
> : > > malo hodinach delat vacuum?
> :
> : VACUUM od 7.2 uz by nemelo byt tak drasticky ukon (pokud to neni
> : VACUUM FULL) a nemyslim, ze by byl problem ho periodicky
> volat. Je to
> : jen otazka designu aplikace nad PostgreSQL jak ho bude pouzivat a
> : udela-li pro neco takoveho prostor (coz uz ted vi i Michal
> Krause :-)
>
> Jde o to, ze vacuum zabere cas kdy je tabulka zablokovana,
> pokud se nemylim. Cili u aplikaci, ktere musi mit interaktivni odezvu,
> je to fakt nahouby.
VACUUM (od verze 7.2, synonymum je ANALYZE) slouzi jen k aktualizaci
statistik pro planovac. A staci mu pristup do tabulky jen pro cteni.
VACUUM FULL uz provadi fyzickou reorganizaci tabulek a to musi mit
tabulky zamcene pro zapis.
Dan
Další informace o konferenci Databases