[Pgpool-general] Why pgpool II always refuses connections?

Tatsuo Ishii ishii at sraoss.co.jp
Wed Dec 22 02:17:01 UTC 2010


> In fact this test scenario you suggested have already been conducted
> yesterday, and we got the same error.

How many transactions were processed before failure?  My guess is your
problem is that your local tcp ports where pgbench is running are
filled with "TIME_WAIT" status. You can confirm this by:

netstat -t |wc -l

If it's too many(over about 28000), you lose. In this case you need to
tweak your kernel parameters. Someone suggested that similar problem
was soleved by setting to /etc/sysctl.conf:

net.ipv4.ip_local_port_range = 32768 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

> But if we change the host and port to the postgres server directly to cross
> the pgpool, the test can be finished. You can see below the number of
> transactions actually processed is 40000.
> 
> I'm not sure if it is a pgpool issue, but I think the client where pgbench
> run and the postgres server is ok. Maybe my problem is on pgpool
> configuration or host cofiguration?
> 
> Did anyone else meet the similarissue before?
> 
> [root at ucs09 ~]# /opt/PostgreSQL/8.4/bin/pgbench -t 2000 -C -c 20 -h
> 172.17.4.11 -p 5432 -U postgres pgbench
> starting vacuum...end.
> transaction type: TPC-B (sort of)
> scaling factor: 20
> query mode: simple
> number of clients: 20
> number of transactions per client: 2000
> number of transactions actually processed: 40000/40000
> tps = 345.895883 (including connections establishing)
> tps = 3232.289016 (excluding connections establishing)

You see the tps numbers are much lower than when ppgpool is
used. Probably this helps your TIME_WAIT flood problem less
occurs. Just my guess though.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> On Tue, Dec 21, 2010 at 6:10 PM, Tatsuo Ishii <ishii at sraoss.co.jp> wrote:
> 
>> Can you run pgbench -C using two PCs? I mean you run:
>>
>> /opt/PostgreSQL/8.4/bin/pgbench -t 2000 -C -c 10 -h 172.17.3.10 -p 9999 -U
>> postgres pgbench
>> on machine A and run:
>> /opt/PostgreSQL/8.4/bin/pgbench -t 2000 -C -c 10 -h 172.17.3.10 -p 9999 -U
>> postgres pgbench
>> on machine B.
>>
>> If pgbench successfully runs, then it is likely that the problem is with
>> your client PC where pgbench runs, not pgpool.
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese: http://www.sraoss.co.jp
>>
>> > pgpool can accept new connection from psql,  and can finish pgbench test
>> > without "-C" option.
>> > I also can run "-C" again without restart pgpool, but it always refused
>> new
>> > connection after 28232 tries.
>> >
>> > Just now I setup a new pgpool platform in our lab, we got same failure
>> with
>> > pgbench -C.
>> > Thanks very much for your care.
>> >
>> > On Tue, Dec 21, 2010 at 5:35 PM, Tatsuo Ishii <ishii at sraoss.co.jp>
>> wrote:
>> >
>> >> After failure of pgbench -C, does pgpool still accept connections from
>> >> psql?
>> >> Or does it become unusable until restarting?
>> >> --
>> >> Tatsuo Ishii
>> >> SRA OSS, Inc. Japan
>> >> English: http://www.sraoss.co.jp/index_en.php
>> >> Japanese: http://www.sraoss.co.jp
>> >>
>> >> > No any error on message or pgpool log.
>> >> > Our platform is centos5.8
>> >> > Kernel is: 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64
>> >> x86_64
>> >> > x86_64 GNU/Linux
>> >> >
>> >> > On Tue, Dec 21, 2010 at 5:27 PM, Tatsuo Ishii <ishii at sraoss.co.jp>
>> >> wrote:
>> >> >
>> >> >> Is there any error message in pgpool log or /var/log/messages?
>> >> >> What is the platform are you running on?
>> >> >> --
>> >> >> Tatsuo Ishii
>> >> >> SRA OSS, Inc. Japan
>> >> >> English: http://www.sraoss.co.jp/index_en.php
>> >> >> Japanese: http://www.sraoss.co.jp
>> >> >>
>> >> >> > Hi all,
>> >> >> >
>> >> >> > We are testing pgpool II by pgbench, when we use below command to
>> do
>> >> the
>> >> >> > test, the pgpool runs ok.
>> >> >> > /opt/PostgreSQL/8.4/bin/pgbench -t 2000 -c 20 -h 172.17.3.10 -p
>> 9999
>> >> -U
>> >> >> > postgres pgbench
>> >> >> >
>> >> >> > But if we add "-C" option, which means to establish new connection
>> for
>> >> >> every
>> >> >> > transaction, the pgpool II will always refuse the connections after
>> >> about
>> >> >> > 28230 successful connection.
>> >> >> > /opt/PostgreSQL/8.4/bin/pgbench -t 2000 -C -c 20 -h 172.17.3.10 -p
>> >> 9999
>> >> >> -U
>> >> >> > postgres pgbench
>> >> >> >
>> >> >> > I tried many times, and the number of transactions actually
>> processed
>> >> is
>> >> >> > always at 28232 or so.
>> >> >> >
>> >> >> > Please see below the detail infomation, any pgpool arguments need
>> to
>> >> be
>> >> >> > adjusted to avoid this issue?
>> >> >> >
>> >> >> > Thanks very much for your help!!!
>> >> >> >
>> >> >> >
>> >> >>
>> >>
>> =======================================================================================
>> >> >> > [root at ucs09 shell]# /opt/PostgreSQL/8.4/bin/pgbench -C -t 2000 -c
>> 20
>> >> -h
>> >> >> > 172.17.3.10 -p 9999 -U postgres pgbench
>> >> >> > starting vacuum...end.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 12 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 13 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 3 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 0 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 16 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 8 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 4 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 5 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 1 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 9 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 10 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 2 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 6 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 11 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 15 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 14 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 7 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 17 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 18 aborted in establishing connection.
>> >> >> > Connection to database "pgbench" failed:
>> >> >> > could not connect to server: Cannot assign requested address
>> >> >> >         Is the server running on host "172.17.3.10" and accepting
>> >> >> >         TCP/IP connections on port 9999?
>> >> >> > Client 19 aborted in establishing connection.
>> >> >> > transaction type: TPC-B (sort of)
>> >> >> > scaling factor: 20
>> >> >> > query mode: simple
>> >> >> > number of clients: 20
>> >> >> > number of transactions per client: 2000
>> >> >> > number of transactions actually processed: 28232/40000
>> >> >> > tps = 841.807364 (including connections establishing)
>> >> >> > tps = 2069.595197 (excluding connections establishing)
>> >> >>
>> >>
>>


More information about the Pgpool-general mailing list