PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 17/09/2014 12:57:43

Macbernie
Membre

Configuration php.ini & postgresql.conf sur serveur 32Go

Bonjour,

je dispose du serveur Dedibox® MD 32G (http://www.online.net/fr/serveur-dedie/ … edie-start)
sur lequel j'héberge une web application en PHP avec PostgreSQL.
La base est lourde (plusieurs dizaines de millions d'entrées).
Je suis à la cherche de la configuration optimale pour répartir la puissance du serveur entre PHP et PostgreSQL,
le but étant d'utiliser toute la puissance su serveur et permettre à PHP comme PotsgreSQL de tourner à plein régime.

je dois donc jongler entre les fichiers
/etc/php5/apache2/php.ini
(memory_limit, other ?...)
et
/etc/postgresql/9.1/main/postgresql.conf
(shared_buffers, work_mem, maintenance_work_mem, wal_buffers, other ?...)

Mais je sais pas vraiment les valeurs à setter. J'ai essayé divers réglages, mais PostgreSQL ne veut plus démarrer si je monte trop haut...
A combien puis-je setter les variables (et lesquelles) ?

Merci de votre aide

Hors ligne

#2 17/09/2014 15:02:14

gleu
Administrateur

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Pourquoi ne démarre-til pas ? quelles valeurs avez-vous mis et quel message vous renvoie-t-il ?


Guillaume.

Hors ligne

#3 17/09/2014 15:08:57

Macbernie
Membre

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Si je met une valeur supérieur 5GB pour shared_buffers:

[....] Restarting PostgreSQL 9.1 database server: main[....] The PostgreSQL server failed to start. Please check the log output: 2014-09-17 15:08:06 CEST FATAL: could not create shared memory segment: No space left on device 2014-09-17 15:08:06 CEST DETAIL: Failed system call was shmget(key=5432001, size=10990821376, 03600). 2014-09-17 15:08:06 CEST HINT: This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached. If you cannot increase the shared memory limit, reduce PostgreSQL's shared memory request (currently 10990821376 bytes), perhaps by reducing shared_buffers or max_connecti[FAILThe PostgreSQL documentation contains more information about shared memory configuration. ... failed!
failed!

Hors ligne

#4 17/09/2014 15:52:37

ruizsebastien
Membre

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Bonjour,

il faut paramétrer les mémoires partagée et sémaphores du système :
http://docs.postgresql.fr/8.2/kernel-resources.html

Cordialement,


Cordialement,

Sébastien.

Hors ligne

#5 17/09/2014 16:29:47

gleu
Administrateur

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Tant qu'à faire, autant mettre la doc sur la dernière version : http://docs.postgresql.fr/current/kernel-resources.html . Mais sinon, oui, problème de configuration du noyau avec SHMMAX.


Guillaume.

Hors ligne

#6 17/09/2014 16:34:42

Macbernie
Membre

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Et quelle valeur correspondrait à ma configuration ?

Hors ligne

#7 17/09/2014 18:09:14

ruizsebastien
Membre

Re : Configuration php.ini & postgresql.conf sur serveur 32Go

Bonjour,


Il suffit de suivre l'exemple fourni dans la doc :


La configuration de la taille de mémoire partagée peut être modifiée avec l'interface proposée par la commande sysctl. Par exemple, pour permettre l'utilisation de 16 Go :

$ sysctl -w kernel.shmmax=17179869184
$ sysctl -w kernel.shmall=4194304

cordialement,

Dernière modification par ruizsebastien (17/09/2014 18:09:30)


Cordialement,

Sébastien.

Hors ligne

Pied de page des forums