User Tools

Site Tools


setupguide:postgresqloptimization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
setupguide:postgresqloptimization [2015/02/05 10:10]
193.48.0.3 créée
setupguide:postgresqloptimization [2016/06/13 10:38] (current)
193.48.0.3
Line 1: Line 1:
-====== PostgreSQL ​optmization ​======+====== PostgreSQL ​optimization and authorizations ​======
  
-PostgreSQL 9.1.x documentation (English) : http://​www.postgresql.org/​docs/​9.1/interactive/​runtime-config-resource.html#​RUNTIME-CONFIG-RESOURCE-MEMORY+PostgreSQL 9.3.x documentation (English): ​https://​www.postgresql.org/​docs/​9.3/static/​runtime-config-resource.html#​RUNTIME-CONFIG-RESOURCE-MEMORY
  
 Main configuration file is ''​postgresql.conf''​ located in PostgreSQL instance data directory. Main configuration file is ''​postgresql.conf''​ located in PostgreSQL instance data directory.
  
-===== Most usefull tunable parameters ​are (9) : =====+  * [[#​PostgreSQL configuration using the graphical interface ProlineAdmin GUI|Use ProlineAdmin GUI]] 
 +  * [[#Most useful tuneable parameters in postgresql.conf|Parameters description and optimization]] 
 + 
 + 
 +===== PostgreSQL configuration using the graphical interface ProlineAdmin GUI ===== 
 + 
 +=== Launch ProlineAdmin GUI === 
 + 
 +== Windows users == 
 + 
 +A shortcut "​Proline Admin" is available in the Windows Start Menu, under the Proline folder. 
 + 
 +== Linux users or manual installation ​ == 
 + 
 +Execute the ''​start.sh''​ script located in the folder obtained after Proline Admin GUI archive file extraction. 
 + 
 +=== ProlineAdmin GUI usage === 
 + 
 +== Locate the data directory == 
 + 
 +Click the //​Configuration//​ button on the application main page. This opens the configuration window. Its first tab (//​Configuration files//) has a section to reference the PostgreSQL data directory. This field must be filled to configure PostgreSQL. Click //Apply// to save changes and go on in this window.\\ 
 +\\ 
 +__Note:__ The data directory is defined when installing PostgreSQL on the machine. This is the folder in which you will find the "​postgresql.conf"​ and the "​pg_hba.conf"​ files. 
 + 
 +{{ :​setupguide:​open_pgsql_config.png?​nolink&​900 |}} 
 + 
 +You can then edit two major files in PostgreSQL configuration. 
 + 
 +**Warning: Many changes will be effective only after a restart of the PostgreSQL service, which is not yet handled by ProlineAdmin GUI (needs to be done manually).** 
 + 
 +---- 
 + 
 +== Edit connections : pg_hba.conf == 
 + 
 +The pg_hba.conf file lists the IP addresses that are allowed to connect to your databases. ​ You will often have to edit this file to first set up Proline. For example, you may have to allow your own machine to establish connection, or a set of machines working together... 
 + 
 +Select the //​PostgreSQL authorizations//​ tab to easily edit this file. 
 + 
 +{{ :​setupguide:​pgsql_authorizations.png?​nolink&​600 |}} 
 + 
 +The first section allows you to change the PostreSQL data directory. It is synchronized with the //​Configuration files// and the //PostreSQL optimization//​ tabs. 
 + 
 +{{ :​setupguide:​pgsql_authorizations_edit_popup.png?​nolink&​250|}} 
 +The icon near the '​Database'​ field opens a window to help you design the database name. 
 +As shown in the screenshot above, keeping the mouse over a column name for a few seconds will display a tooltip to help you understand how to create a new connection. 
 + 
 +__Note__ : pg_ha.conf file also accepts some keywords for the '​adress'​ field (in addition to the IP/CIDR mode). However, ProlineAdmin GUI is not yet able to handle these. If such lines are read within pg_hba.conf,​ the 'IP adress'​ and 'IPs count' fields will be left blank, and must be filled with the appropriate IP adress/IPs count pair to be registered. 
 + 
 +Notefor advanced users, there is more documentation inside the pg_hba.conf file (located in the PostgreSQL data directory). 
 + 
 +Click //Apply// to save changes and go on in this window ; click //OK// to save changes and go back to the main view ; or just go to another tab without saving changes for now. 
 + 
 +---- 
 + 
 +== Optimize PostgreSQL performances for Proline : postgresql.conf == 
 + 
 +Click 'Edit postgresl.conf'​ to easily edit this file. The easiest way to use it is to simply click on //Set all to optimized value//, then //​Apply//​. 
 + 
 +{{ :​setupguide:​pgsql_optimization.png?​nolink&​600 |}} 
 + 
 + 
 +The first section allows you to change the PostreSQL data directory. It is synchronized with the //​Configuration files// and the //PostreSQL authorizations//​ tabs. 
 + 
 +Each line under this block corresponds to a tuneable parameter. If the first box of the line isn't checked, then it will be commented in the configuration file (not taken into account). 
 +You can use either the sliders or the fields and boxes to change the values. 
 +Keeping the mouse over a parameter name for a few seconds will display a tooltip to help you understand what is this parameter about. 
 + 
 +As you can see, at the top of the modal window stand 2 buttons: 
 +  * 'Set all to optimized value':​ compute, for each parameter, the most appropriate value, given your machine properties and the application (Proline'​s usage); 
 +  * 'Set all to default value':​ set default value (compute it if needed) for each parameter. 
 + 
 +Click //Apply// to save changes and go on in this window ; click //OK// to save changes and go back to the main view ; or just go to another tab without saving changes for now. 
 + 
 +---- 
 + 
 +===== Most useful tuneable parameters in postgresql.conf ​=====
  
 Following recommended memory sizes are given for a server with **16 GiB** of physical memory and about **8 GiB** dedicated for the PostgreSQL instance. Following recommended memory sizes are given for a server with **16 GiB** of physical memory and about **8 GiB** dedicated for the PostgreSQL instance.
  
-  * ''​max_connections''​ : Number of concurrent SQL sessions (each Proline Server task can use 1 to 5 SQL sessions, each Proline-Studio instance can use some SQL sessions).+  * ''​max_connections'':​ Number of concurrent SQL sessions (each Proline Server task can use 1 to 5 SQL sessions, each Proline-Studio instance can use some SQL sessions).
 Default value 100 Default value 100
  
-  * ''​tcp_keepalives_idle''​ : Number of seconds before sending a keepalive packet on an otherwise idle TCP connection. Help with broken router / firewall and checking for dead peers.+  * ''​tcp_keepalives_idle'':​ Number of seconds before sending a keepalive packet on an otherwise idle TCP connection. Help with broken router / firewall and checking for dead peers.
 Default value 0 (2 hours) -> 300 (5 minutes) Default value 0 (2 hours) -> 300 (5 minutes)
  
Line 40: Line 115:
   * ''​effective_cache_size''​ Assumption about the effective size of the disk cache to optimize index use (Monitor physical memory allocated by system to disk cache operations).   * ''​effective_cache_size''​ Assumption about the effective size of the disk cache to optimize index use (Monitor physical memory allocated by system to disk cache operations).
 Default value 128MB -> 4096MB Default value 128MB -> 4096MB
- 
setupguide/postgresqloptimization.1423127441.txt.gz · Last modified: 2015/02/05 10:10 by 193.48.0.3