Page 27

Rozdzia 6. • Optymalizacja konfiguracji serwera

Jednak w praktyce testy wydajnoci intensywnie wykorzystujce operacje zapisu pokazuj, e optymaln wydajno mona osign po ustawieniu znacznie wikszej wartoci, co najmniej 1 MB lub wicej. Jedyn wad jest zwikszony poziom wykorzystania pamici wspódzielonej. Biorc po uwag, e nie ma potrzeby, aby wicej ni pojedynczy segment WAL musia by buforowany, a take ilo pamici instalowan w nowoczesnych serwerach, parametrowi wal_buffers mona obecnie przydzieli znacznie wiksz warto: wal_buffers=16MB

Po ustawieniu powyszej wartoci mona zapomnie o parametrze wal_buffers jako potencjalnym wskim gardle lub komponencie, który pó niej trzeba optymalizowa. W przypadku niewielkiej iloci pamici w serwerze mona rozway uycie mniejszej wartoci.

wal_sync_method W rozdziale 2. wyjaniono, jak wane jest skonfigurowanie serwera w taki sposób, aby unika wykorzystywania nietrwaych buforów zapisu. Jednym z celów parametru wal_sync_method jest optymalizacja zachowania podczas korzystania z nietrwaych buforów zapisu. Zachowanie domylne jest w pewien sposób odmienne od wikszoci opcji. Podczas kompilacji kodu ródowego serwera rozwaane s róne moliwe sposoby zapisu. Jeden, uznany za najbardziej efektywny, staje si pó niej stosowany domylnie w trakcie kompilacji. Jednak warto ta nie jest zapisana w pliku konfiguracyjnym postgresql.conf wygenerowanym przez initdb, co odrónia j od innych automatycznie wykrywanych i charakterystycznych dla platform wartoci, takich jak shared_buffers. Przed zmian czegokolwiek naley za pomoc polecenia SHOW sprawdzi, co w uywanej przez czytelnika platformie zostao wykryte jako najszybsza, bezpieczna metoda. W systemie Linux wynik jest nastpujcy: postgres=# show wal_sync_method; wal_sync_method ----------------fdatasync

Z kolei na platformach Windows i Mac OS X istnieje specjalny parametr gwarantujcy, e system operacyjny wyczyci wszystkie bufory zapisu. Na wspomnianych platformach wartoci bezpieczn, która wcza takie zachowanie, jest: wal_sync_method=fsync_writethrough

Jeeli ustawienie takie jest dostpne, naprawd naley je wykorzysta! Pracuje ono prawidowo i gwarantuje wykonywanie bezpiecznych operacji zapisu w bazie danych bez spowalniania innych aplikacji, co ma miejsce w przypadku cakowitego wyczenia bufora zapisu w dysku twardym.

157

Wysoko wydajny PostgreSQL 9.0  

Masz w rękach kompletny podręcznik, przeznaczony dla średnio i bardzo zaawansowanych administratorów baz danych, którzy już używają PostgreS...

Advertisement