我有一个运行django 1.6和psycopg2的应用程序池,它位于带有两个后端PostgreSQL服务器的PGPool II之上。但是所有查询(读和/或写)都将发送到 master PostgreSQL甚至SELECT
。
正如我们在PGPool II documentation上看到的那样,如果我们已将查询读入事务中,则需要满足一些条件以平衡发送给主服务器的负载。我知道我们有SELECT
到事务中的一些代码点,但是我们也有简单的SELECT
查询,这些查询也将掌握。
我不确定将所有查询发送给master的条件以及条件是什么。
以下是带有负载均衡条件的表:
答案 0 :(得分:0)
将所有查询发送给master真的很奇怪。如果将“ stream”用作“ master_slave_sub_mode”,我不知道您使用的是哪个版本以及天气如何。让我假设您使用的是4.0.0版本,并且master_slave_sub_mode是“ stream”
load_balance_mode = on
master_slave_sub_mode = 'stream'
replication_mode = off
replicate_select = off
white_function_list = ''
black_function_list = ''
black_query_pattern_list = ''
database_redirect_preference_list = ''
app_name_redirect_preference_list = ''
allow_sql_comments = off
disable_load_balance_on_write = 'transaction'
您可以检查此设置吗? 仅供参考,3.7.x在负载平衡方面存在一些问题。如果您使用的是3.7.x,建议您升级版本。