Page 35

Rozdzia 6. • Optymalizacja konfiguracji serwera

9. Zmiana wartoci domylnej parametru wal_sync_method. Jeeli uywana jest platforma, na której warto domylna tego parametru jest niebezpieczna, naley zmieni t warto. 10. Warto parametru wal_buffers trzeba zwikszy do 16 MB. 11. Dla baz danych PostgreSQL w wersjach niszych ni 8.4 warto rozway zwikszenie wartoci parametrów default_statistics_target (do 100, warto domylna w nowszych wersjach PostgreSQL) i max_fsm_pages na podstawie informacji o przewidywanym obcieniu dla tej bazy danych. Po skonfigurowaniu pewnej liczby serwerów przeznaczonych do obsugi danej aplikacji czytelnik bdzie mia znacznie lepsze rozeznanie, które wartoci pocztkowe maj sens, aby rozpoczyna z nimi prac. Szczególnie wartoci kocowe parametrów checkpoint_segments i work_mem mog bardzo istotnie odbiega od tutaj zalecanych.

Wskazówki dotyczce serwerów wspódzielonych Jeeli serwer bazy danych wspódzieli sprzt z inn aplikacj — czsto spotykana jest sytuacja umieszczania wielu aplikacji bazodanowych w pojedynczym systemie — podczas optymalizacji nie mona stosowa tak agresywnego podejcia, jakie przedstawiono w poprzednim podrozdziale. W takim przypadku dokadna procedura jest trudna do nakrelenia. Naley podj prób przeprowadzenia optymalizacji wartoci parametrów zwizanych z pamici i zastosowa dolne granice zalecanych wartoci: Q parametrowi shared_buffers naley przydzieli tylko 10% pamici RAM, nawet na platformach, na których normalnie zaleca si przydzielenie wikszej wartoci; Q parametrowi effective_cache_size naley przydzieli 50% lub mniej pamici RAM, prawdopodobnie mniej, jeli wiadomo, e aplikacja bdzie uywa duej iloci pamici; Q trzeba bardzo ostronie podchodzi do zwikszania wartoci parametru work_mem. Inne sugestie przedstawione w poprzednim podrozdziale maj zastosowanie równie tutaj — na przykad uycie wikszych wartoci dla parametru checkpoint_segments i odpowiedni wybór wartoci parametru wal_sync_method nie róni si niczym w obu systemach. Nastpnie trzeba zasymulowa dziaanie aplikacji z penym obcieniem i sprawdzi ilo dostpnej pamici RAM, aby si przekona, czy moliwe jest przydzielenie bazie danych wikszej iloci pamici. Proces moe wymaga kilkakrotnego powtórzenia i na pewno powinien by powizany z przeprowadzaniem testów wydajnoci na poziomie aplikacji, o ile jest taka moliwo. W systemie wspódzielonym nie ma sensu przydzielanie bazie danych wikszej iloci pamici, jeeli aplikacja bd inna warstwa buforujca, na przykad na poziomie puli pocze, nie bdzie efektywnie wykorzystywaa tej pamici. Ta sama idea — uycie rozsdnych wartoci pocztkowych, a nastpnie stopniowe przeprowadzanie optymalizacji na podstawie monitorowania — sprawdza si doskonale take w serwerach dedykowanych.

165

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