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 18/12/2012 13:18:06

tsn77130
Membre

node pgpool

salut a tous,

j'utilise pgpool en tant que pooler de connexion (aucun soucis) , et j'essaie en ce moment de le passer en mode load balancer pour les requetes select.

J'ai donc activé l'option load_balance_mode = true,
et changé le
backend_hostname0 = 'localhost'
backend_port0 = 5432
backend_weight0 = 1

en

backend_hostname0 = '192.168.1.230'
backend_port0 = 5432
backend_weight0 = 0.5
backend_hostname1 = '192.168.1.231'
backend_port1 = 5432
backend_weight1 = 0.5

pour y ajouter mes 2 hotes (localhost est le .230)
Le .230 étant le maitre, le .231 l'esclave.

Mon soucis, c'est que pgpool ne semble pas vouloir prendre les 2 hotes en compte.
Mes autorisations sur les serveurs postgres sont OK dans pg_hba.conf ; d'ailleurs si je met seulement l'un des 2 hotes en hostname0, ça fonctionne, les requetes lui sont bien envoyées. (avec pgbench ou via un select manuel par exemple)
Des que je met les 2, ca ne prend en compte que le premier que je déclare.

Pourtant, lorsque le lance pgpool avec l'option de debug, il semble me prendre les 2 nodes

------
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_hostname0
2012-12-18 12:12:42 DEBUG: pid 10173: value: '192.168.1.230' kind: 4
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_port0
2012-12-18 12:12:42 DEBUG: pid 10173: value: 5432 kind: 2
2012-12-18 12:12:42 DEBUG: pid 10173: pool_config: port slot number 0
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_weight0
2012-12-18 12:12:42 DEBUG: pid 10173: value: 0.5 kind: 3
2012-12-18 12:12:42 DEBUG: pid 10173: pool_config: weight slot number 0 weight: 0.500000
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_hostname1
2012-12-18 12:12:42 DEBUG: pid 10173: value: '192.168.1.231' kind: 4
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_port1
2012-12-18 12:12:42 DEBUG: pid 10173: value: 5432 kind: 2
2012-12-18 12:12:42 DEBUG: pid 10173: pool_config: port slot number 1
2012-12-18 12:12:42 DEBUG: pid 10173: key: backend_weight1
2012-12-18 12:12:42 DEBUG: pid 10173: value: 0.5 kind: 3
2012-12-18 12:12:42 DEBUG: pid 10173: pool_config: weight slot number 1 weight: 0.500000
2012-12-18 12:12:42 DEBUG: pid 10173: key: enable_pool_hba
2012-12-18 12:12:42 DEBUG: pid 10173: value: true kind: 1
2012-12-18 12:12:42 DEBUG: pid 10173: num_backends: 2 num_backends: 2 total_weight: 1.000000
2012-12-18 12:12:42 DEBUG: pid 10173: backend 0 weight: 1073741823.500000
2012-12-18 12:12:42 DEBUG: pid 10173: backend 1 weight: 1073741823.500000
----



Est ce que je rate quelque chose ?

Merci d'avance !

Hors ligne

#2 18/12/2012 13:57:22

rjuju
Administrateur

Re : node pgpool

Bonjour,

avez-vous configuré master_slave_mode =true et master_slave_sub_mode= 'stream' (si vous utilisez la streaming réplication).


Sinon, pgpool ne fait pas de load balancing en transaction. C'est particulièrement gênant avec jdbc, qui fait des transactions explicites par défaut il me semble (setAutoCommit(true) pour le désactiver).

Hors ligne

#3 18/12/2012 17:05:24

tsn77130
Membre

Re : node pgpool

Je ne l'avais pas fait, effectivement hmm
Cela marche beaucoup mieux, pgbenchs a l'appui.

Merci beaucoup rjuju

Hors ligne

Pied de page des forums