Zmiany pomiędzy wersją początkową i wersją 1 dla AdminGuide/TuningPostgresql

Pokaż
Ignoruj:
Data i czas:
10/18/12 00:03:54 (12 years temu)
Autor:
JP (IP: 89.78.227.245)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • AdminGuide/TuningPostgresql

    v1 v1  
     1= Tuning PostgreSQL = 
     2 
     3PostgreSQL jest jedną z najbardziej zaawansowanych baz na świecie, wydajnością dorównuje liderom, jednakże parametry standardowej instalacji raczej nie są zaprojektowane do osiągania największej wydajności. 
     4 
     5W celu zwiększenia wydajności na większości współczesnych maszyn należy przeprowadzić zmianę niektórych parametrów. Spośród nich najważniejsze to: 
     6 
     7== shared_buffers == 
     8Konfiguracja shared_buffers określa, ile pamięci jest poświęcone dla PostgreSQL do buforowania danych. Rozsądną wartość początkową shared_buffers jest 1/4 pamięci w systemie.  
     9Należy pamiętać, że w systemie Windows, duże wartości shared_buffers nie są tak skuteczne, prawdopodobnie lepsze wyniki można otrzymać utrzymując stosunkowo niskie shared_buffers, pozwalając korzystać z pamięci podręcznej systemu operacyjnego. 
     10 
     11Prawdopodobnie należy w ślad za tym ustawieniem zwiększyć ustawienie w systemie operacyjnym ''kernel.shmmax''. W tym celu należy dopisać do /etc/sysctl.conf (256MB - jeżeli w systemie posiadamy 1GB RAM). 
     12 
     13{{{ 
     14/etc/sysctl.conf 
     15kernel.shmmax = 268435456 
     16}}} 
     17 
     18 
     19{{{ 
     20/etc/postgresql/8.3/postgresql.conf 
     21shared_buffers = 196MB 
     22}}} 
     23 
     24== effective_cache_size == 
     25Należy ustawić ile pamięci jest do buforowania dysku pozostałości po uwzględnieniu tego, co jest używane przez system operacyjny, dedykowanej pamięci PostgreSQL, i innych aplikacji. Jeśli jest zbyt niska, indeksy nie mogą być wykorzystywane do wykonywania kwerend w taki sposób jaki można się spodziewać.  
     26Ustawianie effective_cache_size do 1/2 całkowitej pamięci jest normalnym konserwatywnym ustawieniem.  
     27Można lepiej oszacować to ustawienie patrząc na statystyki OS. W systemach uniksowych, dodać należy wartości ''free + cached'' z polecenia ''free''. 
     28 
     29{{{ 
     30[root@edokumenty ~]# free 
     31             total       used       free     shared    buffers     cached 
     32Mem:       1035236     948720      86516          0      11688     761988 
     33-/+ buffers/cache:     175044     860192 
     34Swap:       497972      19040     478932 
     35}}} 
     36 
     37W systemie Windows sprawdzić to można Menedżerze zadań na zakładce Wydajność - pole ''Buforowana''. 
     38 
     39== work_mem == 
     40Work_mem ustawić należy na nieco wyższą wartość niż jest domyślnie, ale należy uważać aby nie przesadzić.  
     41 
     42Rozmiar tej opcji jest stosowany do każdego rodzaju pracy wykonywanej przez każdego użytkownika. Jeśli ustawimy go na 50MB, i mamy 30 użytkowników to wkrótce obciążenie wzrośnie do 1,5 GB pamięci rzeczywistej. Jeśli tyle posiadamy w systemie - to OK. 
     43