Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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