Re: HELP: Informix Performance on Tandem Non-Stop
Posted in 1997
Bergero Claudio wrote:
>
> My problem sounds like this:
>
> Trying to add connections to Online up to 65-75 the server isssued this message in online.log:
>
> 16:43:35 listener-thread: err = -25574: Network driver cannot open the network device.
> 16:43:39 NSF putlocal: t_open error: t_errno = 8, errno = 28.
Your problem seems to be not enough listener thread connection slots.
In the ONCONFIG file the NETTYPE parameters specify the number of
listeners for each interface and the number of permitted connections for
each listener thread on that interface. The format is:
NETTYPE <interface>,<#listeners>,<#connections>,<WHICH_VP>
ex:
NETTYPE ipcshm,1,100,CPU
NETTYPE tlitcp,2,50,NET
This example sets up one shared memory listener with data structures to
keep track of 100 connections running in a CPU VP (usually CPUVP #1)
and two network listener threads each of which can keep track of 50
connections running in two dedicated NETVPs.
BTW:For Multiple CPU systems with multiple CPU VPs I have found that one
shared memory listener per CPUVP will best prevent bottlenecks. I have
found that unless the CPUVP is busy it will accept a new connection that
it's listener thread binds to an sqlexec thread in itself. Also it
will not interrupt an active thread to bind a new connection or to
handle a new query from an existing connection. This means that
if you have fewer listeners than CPUVPs those VPs with listeners are
most busy while the remaining VPs are mostly idle and new connections
and new requests from existing connections will be delayed. If all
CPUVPs have a listener then if one VP is busy another usually is not so
that requests are handled more quickly and throughput, measured in
number of requests handled per minute, improves dramatically. The
manual recommends limiting the number of listeners to reduce polling
overhead but on a busy system wasted polls are not the problem, blocked
requests are. On a mostly idle server this is not a problem and
limiting the number of listeners will free cycles for other
applications, but on a dedicated database server this is not a concern.
The default value for number of connections is 50 per listener thread.
Art S. Kagel