нагрузка pgpool2 балансировка не работает

у меня есть приложение Python / Django, которое потребует балансировки нагрузки на базу данных в какой-то момент в ближайшем будущем. Тем временем я пытаюсь научиться реализовывать pgpool на локальной виртуальной машине.

у меня есть 4 Ubuntu 12.04 VMs:

192.168.1.80 <- pool, pgppool2 installed and accessible
192.168.1.81 <- db1 master
192.168.1.82 <- db2 slave
192.168.1.83 <- db3 slave

у меня есть pgpool-II версии 3.1.1, и мои серверы баз данных работают В PostgreSQL 9.1.

у меня есть db-соединение моего приложения, указанное на 192.168.1.80: 9999, и оно отлично работает.

проблема в том, когда я использую Apache ab, чтобы бросить некоторую нагрузку на него, ни один из Запросы SELECT выглядят сбалансированными. Вся нагрузка идет на мой db1 мастер. Кроме того, довольно беспокоит нагрузка на сам сервер пула, он действительно высок по сравнению с db1, возможно, в среднем 8-10 раз высший. Между тем мои серверы db2 и db3 имеют нагрузку почти нулевую, они, похоже, реплицируются только из db1, что не очень загружается интенсивный для моих тестов с ab.

ab -n 300 -c 4 -C 'sessionid=80a5fd3b6bb59051515e734326735f80' http://192.168.1.17:8000/contacts/

Это управляет нагрузкой на моем сервере пула примерно до 2.3. Нагрузка на db1 это около 0.4, а нагрузка на db2 и db3 почти равна нулю.

может кто-нибудь взглянуть на мою конфигурацию и посмотреть, что я делаю неправильно?

backend_hostname0 = '192.168.1.81'
backend_port0 = 5432
backend_weight0 = 1
backend_data_directory0 = '/var/lib/postgresql/9.1/main'
backend_flag0 = 'ALLOW_TO_FAILOVER'

backend_hostname1 = '192.168.1.82'
backend_port1 = 5433
backend_weight1 = 1
backend_data_directory1 = '/var/lib/postgresql/9.1/main'
backend_flag1 = 'ALLOW_TO_FAILOVER'

backend_hostname2 = '192.168.1.83'
backend_port2 = 5434
backend_weight2 = 1
backend_data_directory2 = '/var/lib/postgresql/9.1/main'
backend_flag2 = 'ALLOW_TO_FAILOVER'

load_balance_mode = on

вся моя конфигурация здесь:

http://pastebin.com/raw.php?i=wzBc0aSp

1 ответов


Мне нужно

replication_mode = off
master_slave_mode = on

спасибо Тацуо Исии:

http://www.pgpool.net/pipermail/pgpool-general/2013-January/001309.html