Search Postgresql Archives

Re: debugging server connection issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry, my client environment is Linux.

My current theory is that my clients are running out of available ephemeral ports, like in this thread: http://dba.stackexchange.com/questions/59650/pgbouncer-works-great-but-occasionally-becomes-unavailable (but I"m not currently using pg bouncer).  I tried pg bouncer before and had the same errors, which in retrospect makes the client-side issue seem more likely.  Are there any configuration variables I can set to reduce the number of ephemeral ports required in the postgresql client libraries?  Otherwise, I will attempt to reconfigure the OS of the client machines tomorrow morning.

Thanks,
Steve

On Tue, Mar 29, 2016 at 4:44 PM Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote:
On 03/29/2016 01:28 PM, Stephen Constable wrote:
> My apologies, I'm not sure what part of the networking stack the
> messages are coming from.  It also states:
> """
> could not connect to server: Cannot assign requested address
> Is the server running on host "<hostname>" and accepting
> TCP/IP connections on port <port>?
> """

Alright I lied, the above is a Postgres error message. I am just not
used to seeing 'Cannot assign requested address'. Turns out it is in
interfaces/libpq/win32.c.

So your client is running on Windows?


> This error is only printed under a 32-job load, never a single job load.
>
> The processes are indeed connecting over a local network.
>
> I have only enabled the logging of connections and disconnections since
> I figured that would be the most telling :) perhaps that was not the
> best idea.  but, FYI, I see over 5000 such notices in a single minute.
> I will reconfigure the logging to be more verbose.
>
> Thanks,
> Steve
>
> On Tue, Mar 29, 2016 at 4:21 PM Adrian Klaver <adrian.klaver@xxxxxxxxxxx
> <mailto:adrian.klaver@xxxxxxxxxxx>> wrote:
>
>     On 03/29/2016 01:10 PM, Stephen Constable wrote:
>      > Hi All,
>      >
>      > I'm a new-ish sysadmin working on porting legacy scientific code
>     from a
>      > local server/client to new supercomputer environment.  My work is
>     mostly
>      > done, except that my postgres database doesn't seem to be able to
>     keep
>      > up with the new environment.  The application is written in-house
>     in a
>      > mixture of FORTAN 77 and C, and uses postgres BLOBS as its main data
>      > store.  This application in particular only reads from the
>     database, it
>      > never writes, which *should* make it easy to scale.
>      >
>      > My main problem is that this client application is unable to
>     connect to
>      > the database under a modest load (32 simultaneous jobs).  The client
>      > error logs print out messages like "could not connect to server:
>     Cannot
>      > assign requested address" and "Cannot connect to database
>     [runlog]!!!"
>      > (an important database of ours).  The "cannot assign requested
>     address"
>
>     Well those do not look like Postgres error messages to me, so the first
>     thing would be to determine what part of the stack is generating them.
>
>     Is the client software connecting to the database over a network?
>
>     Are you using connection pooling?
>
>      > message makes me think it's a configuration issue.  The logs are
>     flooded
>      > with hundreds of connection and disconnection notices per
>     second.  This
>
>     Might want to turn off logging connections/disconnections:
>
>     http://www.postgresql.org/docs/9.4/interactive/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT
>
>     log_connections (boolean)
>
>     log_disconnections (boolean)
>
>      > same code and configuration runs fine on our mid-2000's Solaris
>     10 box
>      > with postgres 8.4 (albeit very slowly) but totally fails with these
>      > connection errors on a modern Dell system running CentOS 7 or
>     FreeBSD 10
>      > (I tested both) with postgres 9.4.
>      >
>      > While the database is under load (and jobs are actively failing),
>     select
>      > count(*) from pg_stat_activity returns 30-34 ish connections, show
>      > max_connections returns 100, and show superuser_reserved_connections
>      > shows 3.  My only other hint is that right after a fresh install of
>      > CentOS 7 my job success rate was around 50%, and now it has
>     approached
>      > approximately 5%, so something is changing over time.
>      >
>      > Does anyone have any advice or experience with similar issues?
>
>     What else does the Postgres log show besides the
>     connections/disconnections, that might be of interest?
>
>     What does the system log show?
>
>      >
>      > Thanks,
>      > Steve
>      >
>
>
>     --
>     Adrian Klaver
>     adrian.klaver@xxxxxxxxxxx <mailto:adrian.klaver@xxxxxxxxxxx>
>


--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux