PostgreSQL

From RCUB
Jump to: navigation, search
(PSQL komande)
(Dodata sekcija za optimizovanje Postgresa)
Line 117: Line 117:
  
 
   sudo -u postgres /usr/pgsql-9.0/bin/pg_ctl reload -D /var/lib/pgsql/9.0/data/
 
   sudo -u postgres /usr/pgsql-9.0/bin/pg_ctl reload -D /var/lib/pgsql/9.0/data/
 +
 +
===Optimizovanje servera===
 +
 +
Za izvlačenje maksimuma mogućnosti iz PostgreSQL-a poželjno je pročitati detljno ceo [http://wiki.postgresql.org/wiki/Performance_Optimization Optimization Guide]. Poglavlje [http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server Tuning] se najviše tiče optimizovanja svakodnevnog rada servera i objašnjava sve tajne postgres.conf. Jedan od interesatnih članaka je [http://www.linux.com/learn/tutorials/394523-configuring-postgresql-for-pretty-good-performance ovde] a postoji i cela [http://www.packtpub.com/postgresql-90-high-performance/book knjiga].
 +
 +
Moguće je dati neke osnovne preporuke za optimizovanje PostgreSQL servera. Poželjno je dodeliti serveru više memorije nego što je konfigurisano u podrazumevanim postavkama. U sledećim postavkama u tabeli, koje treba uzeti s zrncem soli, se nalazi jedan predlog postavki koji bi trebalo da omogući performantniji rad PostgreSQL servera za konfiguraciju koja bi PostgreSQL serveru ostavila 1GB radne memorije, 16GB radne memorije i poređenje sa podrazumenvanim postavkama u PostgreSQL-u 8.3:
 +
 +
{| class="wikitable" style="text-align:center; width:750px; height:200px;"
 +
|+ postgres.conf
 +
|-
 +
!
 +
! 8.3 def
 +
! 1GB
 +
! 16GB
 +
! komentar
 +
|-
 +
! <code>max_connections</code>
 +
| 100 || 30 || 30 ||  align="right" width="50%"| proceniti koliko je konekcija zaista potrebno i dodati neku rezervu
 +
|-
 +
! <code>shared_buffers</code>
 +
| 32MB || 256MB || 4096MB || align="right"| treba RAM/4
 +
|-
 +
! <code>effective_cache_size</code>
 +
| 1000 || 128MB || 10240MB || align="right"| treba RAM/2, mada može i do RAM*3/4
 +
|-
 +
! <code>chekpoint_segments</code>
 +
| 3 || 15 || 15 || align="right"| minimum 10 ako je ''write intensive'' aplikacija može i 32
 +
|-
 +
! <code>checkpoint_completion_target</code>
 +
| 0.5 || 0.9 || 0.9 || align="right"| uvek se povećava na 0.9 kada se povećeva <code>chekpoint_segments</code>
 +
|-
 +
! <code>default_statistics_target</code>
 +
| 10 || 100 || 100 || align="right"| uvek na 100
 +
|-
 +
! <code>work_mem</code>
 +
| 1MB || 4MB || 40MB || align="right"| obratiti pažnju da <code>max_connections</code>*<code>work_mem</code> bude manji od npr. RAM/8
 +
|}
  
 
==Koriscenje proceduralinih jezika==
 
==Koriscenje proceduralinih jezika==

Revision as of 10:36, 4 June 2013

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox