[pgpool-general: 3831] Re: EXTERNAL: Re: Connection Failures Through pgpool Only
Tatsuo Ishii
ishii at postgresql.org
Thu Jun 25 08:21:38 JST 2015
> Thanks for the tips. I have two follow up questions. First, for child_life_time are you suggesting it should be increased, decreased or disabled (after looking at the manual I couldn't tell what was needed)?
If you are not sure, leave it as the default. child_life_time is a
kind of life gurard against unwanted problems, such as memory leak. If
pgpool-II would be completely bug-free, you could disable it. But you
know life is not ideal...
> Second, I used the defaults for num_init_children and max_connections. So, for pgpool num_init_children = 32 and max_pool = 4. And for postgresql.conf I have max_connections = 100. Looking at the manual I see:
>
> max_pool*num_init_children <= (max_connections - superuser_reserved_connections) (no query canceling needed)
> max_pool*num_init_children*2 <= (max_connections - superuser_reserved_connections) (query canceling needed)
>
> So I'm thinking: 4 *32*2 = 256 for max_connections. Did I get this right?
Yes, correct.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp
> Mike
> -----Original Message-----
> From: Tatsuo Ishii [mailto:ishii at postgresql.org]
> Sent: Saturday, June 20, 2015 5:27 AM
> To: Hill, Michael E; hillsangels2 at verizon.net
> Cc: pgpool-general at pgpool.net
> Subject: EXTERNAL: Re: [pgpool-general: 3821] Connection Failures Through pgpool Only
>
>> Hi pgpoolers,
>>
>> After a good unit test, I am having fundamental problems implementing
>> pgpool into integration-test where the real apps are. My system is not
>> connected to the internet in any way and I cannot cut and paste any
>> information, but I will try to fill in the gap by hand.Please help!
>>
>> Problem 1Applications frequently get error 08006 (connection_failure)
>> and 08003 (connection_does_not_exist); they
>> occasionally get messages about threads no longer connected to
>> database.None of these transactions get thru.
>
> It is possible due to this in pgpool.conf (which is default).
>
> child_life_time = 300
>
> You need to fix this or your application to reconect to pgpool-II.
>
>> Problem 2pgpool instances sometimes lockup/crash and cannot be
>> accessed from psql or pgp commands
>
> Too vague problem report. Please show us what's in the pgpool log file when the issue occurs.
>
> Another possiblity for "lockup" problem is misconfiguration of num_init_children vs. max_connections in postgresql.conf (you did not show us postgresql.conf and this is just my guess). See manual for proper configuration.
>
>> Problem 3The standby nodes show up mostly as status 1 and 3, and only
>> occasionally as 2; the primaries are generally at 2,
>> except for early startup which is 1.
>
> "3" means pgpool-II detects that either 3rd PostgreSQL is down for pgpool-II cannot reach to the server. Showing the pgpool log may reveals the cause.
>
> Best regards,
> --
> Tatsuo Ishii
> SRA OSS, Inc. Japan
> English: http://www.sraoss.co.jp/index_en.php
> Japanese:http://www.sraoss.co.jp
>
>> Generally the applications all work fine when connecting directly to
>> the primary PG DB servers at 5432, and all databases can be accessed
>> using psql thru the db servers at port 5432, and thru the
>> pgppol/tomcat servers at 9999._The errors occur only when I change the
>> application data sources to go thru the pgpool servers at 9999.
>> _Nothing in the PG or pgpool logs show obvious authentications errors.
>>
>> Background/details:
>>
>> Systems Each test environment consists of 4 rhel6 HP blades, 8GB of
>> RAM each
>>
>> PgpoolTwo instances of v3.4 running independently on 2 severs shared
>> w/ Tomcat (2GB dedicated; no watchdog; installed w/ RPMs
>>
>> Potgresv9.3 on dedicated servers using PG streaming synchronous
>> replication; installed w/ tar files
>>
>> My exp. lev.3m pgpool, 6m PG, 20+ yrs DBA; set up 9 sets of 4 servers
>> so far; 2 sets to go for the $!
>>
>> Key settings:
>>
>> Pg_hba.conf (as open as I can get it!):
>>
>>
>> # TYPEDATABASEUSERADDRESSMETHOD
>>
>> localallalltrust
>>
>> hostallall0.0.0.0/0trust
>>
>> hostallpostgresql0.0.0.0/0trust
>>
>> hostreplicationallxx.xx.xx.xx/32trust --> (only b/c PG insisted)
>>
>> pgpool.conf:
>>
>>
>> listen_addresses = '*'
>>
>> port = 9999
>>
>> pcp_port = 9898
>>
>> backend_hostname0 = 'abcdefgh'
>>
>> backend_port1 = 5432
>>
>> backend_weight0 = 1
>>
>> backend_data_directory0 = '/data/ABCDFF1'
>>
>> backend_flag0 = 'ALLOW_TO_FAILOVER'
>>
>> backend_hostname1 = 'abcdefgh'
>>
>> backend_port1 = 5432
>>
>> backend_weight1 = 1
>>
>> backend_data_directory1 = '/data/ABCDEF1'
>>
>> backend_flag1 = 'ALLOW_TO_FAILOVER'
>>
>> enable_pool_hba = off
>>
>> replication_mode = off
>>
>> load_balance_mode = on
>>
>> master_slave_mode = on
>>
>> master_slave_sub_mode = 'stream' (warning msg in log says system is
>> not streaming)
>>
>> parallel_mode = off
>>
>> Loaded these into db01:
>>
>> psql -h localhost -U postgres -W -f pgpool-recovery.sql dbname
>>
>> psql -h localhost -U postgres -W -f pgpool-regclass.sql dbname
>>
>> Thanks.
>>
>> Mike Hill
>> Lockheed Martin Corp.
>> Herndon, VA
>> michael.e.hill at lmco.com
>>
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> https://www.avast.com/antivirus
More information about the pgpool-general
mailing list