error 25588 app. process can't connect server
Posted in 2009
Topics: Performance & Tuning, Connectivity: ESQL/C, 4GL & Embedded SQL, Server Administration, Networking & sqlhosts Configuration, Platform-Specific Issues
Dear friends,
I encountered the above error when more than 32 users accessing the
application. My onconfig.abc file has the following parameters:
DBSERVERNAME abc
DBSERVERALIASES abc_tcp
NETTYPE ipcshm,1,64,CPU
NETTYPE tlitcp,1,64,CPU
MULTIPROCESSOR 1
NUMCPUVPS 1
SINGLE_CPU_VP 1
I am running Informix application on:
- SUN Solaris 5.6 with 2xCPU, 1DB RAM
- Informix IDS: 7.24 UC6
- Informix 4GL: 7.20 UD2
- Currently slightly more than 32 concurrent users
I have read informix manual in order to find out if the above parameters had
caused the above error, but not able to. Below are my questions:
1) Is the error -25577 caused by above parameters? If not, what causes it?
2) Do you recommend to increase NUMCPUVPS to 2 since I have 2 processors? Does
it improve performance by doing so?
3) Can I have two different protocols (ipcshm & tlitcp) defined as same
VP_class (CPU) but each protocol have 1 poll_threads, in fact, there is only
one CPU VP?
4) What are the suggested parameters for best performance?
Thanks.
Best Regards
A couple of things:
Error -25588 is normally associated with trying to connect via shared
memory when there are not more shared memory connection slots available.
Unlike the networked protocols, the shared memory listeners have a fixed
number of connection slots as configured in the NETTYPE for ipcshm. I know
you said you have 32 users and 64 slots configured, but if you applications
are written in C++ or Java, then they may have multiple connections to the
server for each user. You should increase the number of connections slots
available for shared memory connections from 64 to say 200 total. The slots
are relatively cheap.
I see other problems. You have only one CPU VP but have both ipcshm and
tlitcp NETTYPES set to CPU. Only the first one will actually be configured
into the CPU VP unless you increase the number of CPU VPs, the other will
get a NET VP. Now, ipcshm listeners should be configured into all CPU VPs
and networked listeners should be configured in NET VPs anyway, so this may
be working OK for you accidentally, but you should make it explicit.
As to your other questions, see below:
Art
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
See you at the 2010 IIUG Informix Conference
April 25-28, 2010
Overland Park (Kansas City), KS
www.iiug.org/conf
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. Neither do
those opinions reflect those of other individuals affiliated with any entity
with which I am affiliated nor those of the entities themselves.
On Thu, Dec 17, 2009 at 5:42 AM, THIONG TECK KONG <ttkong123@gmail.com>wrote:
> Dear friends,
>
> I encountered the above error when more than 32 users accessing the
> application. My onconfig.abc file has the following parameters:
>
> DBSERVERNAME abc
> DBSERVERALIASES abc_tcp
> NETTYPE ipcshm,1,64,CPU
NETTYPE tlitcp,1,64,CPU>
Change the NETTYPES to:
NETTYPE ipcshm,2,100,CPU
NETTYPE tlitcp,1,100,NET
> MULTIPROCESSOR 1
> NUMCPUVPS 1>
You can configure approximately one CPU VP for every 450MHZ of processor
speed for each CPU core, so if you have 2 1.2GHZ processors, you can
configure up 6 or 8 CPU VPs. Since I don't know how fast your processors
are, but given the age of your IDS and Solaris versions I'd say probably
about 450MHZ is closer to what you have, then set only 2 CPU VPs:
NUMCPUVPS 2
> SINGLE_CPU_VP 1>
> I am running Informix application on:
> - SUN Solaris 5.6 with 2xCPU, 1DB RAM
> - Informix IDS: 7.24 UC6
> - Informix 4GL: 7.20 UD2
>
These are VERY old and long out of support. You should upgrade to IDS 11.50
and 4GL 7.50. You could get a MUCH faster system today for very little $$
by purchasing a PC class machine running four or eight 2GHZ Intel cores and
using Linux probably for less than $10K.
> - Currently slightly more than 32 concurrent users
>
> I have read informix manual in order to find out if the above parameters
> had
> caused the above error, but not able to. Below are my questions:
>
> 1) Is the error -25577 caused by above parameters? If not, what causes it?
>
> 2) Do you recommend to increase NUMCPUVPS to 2 since I have 2 processors?
> Does
> it improve performance by doing so?
>
> 3) Can I have two different protocols (ipcshm & tlitcp) defined as same
> VP_class (CPU) but each protocol have 1 poll_threads, in fact, there is
> only
> one CPU VP?
>
> 4) What are the suggested parameters for best performance?
>
> Thanks.
>
> Best Regards
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--0015174483182f8a36047aead26a
Thank you Mr. S. Kagel, your opinions are helpful and I will try it out.
By the way, may I know is the number of NET VP depending on parameter in
NUMCPUVPS? For example: "NUMCPUVPS=1" means up to 1 CPU VP is supported, can I
have additional NETTYPE with 1 or more NET VP?
If yes, do you think (given my case) by adding NETTYPE with 1 or more NET VP
help in performance improvement or maintain only one NETTYPE with 1 CPU VP?
On top of that, I only have 2 X 296MHz processors, do you recommend to set
NUMCPUVPS to 2?
Billions thanks.
------WebKitFormBoundaryrnI4ZhNB+cHhHxhK
You can have as may NET VPs as you need to support your number of
connections. IBM reports that a single NET VP can accomodate up to 1000
connections for TCP type connections but recommends configuring fewer than
350 connections per listener NET VP for best performance. Also, you have to
know whether your users are connecting via TCP of shared memory. If all or
most users are connecting via shared memory then more NET VPs for TCP type
connections will not improve anything.
On processors as slow as these, I would not want more than one CPU VP per
processor, but you do have two processors, so if there are no other
applications running locally on the machine to require CPU resources then go
for two CPU VPs. If IDS must share the machine with user applications and
other active servers, then stay at one CPU VP. I would again strongly
recommend upgrading both your hardware and software. You can get a new
machine running Linux that will be four or eight times as powerful as the
one you have now for only a few $K these days.
Art
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
See you at the 2010 IIUG Informix Conference
April 25-28, 2010
Overland Park (Kansas City), KS
www.iiug.org/conf
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. Neither do
those opinions reflect those of other individuals affiliated with any entity
with which I am affiliated nor those of the entities themselves.
On Mon, Dec 21, 2009 at 1:28 AM, <> wrote:
> Thank you Mr. S. Kagel, your opinions are helpful and I will try it out.
>
> By the way, may I know is the number of NET VP depending on parameter in
> NUMCPUVPS? For example: "NUMCPUVPS=1" means up to 1 CPU VP is supported,
> can I
> have additional NETTYPE with 1 or more NET VP?
>
> If yes, do you think (given my case) by adding NETTYPE with 1 or more NET
> VP
> help in performance improvement or maintain only one NETTYPE with 1 CPU VP?
>
> On top of that, I only have 2 X 296MHz processors, do you recommend to set
> NUMCPUVPS to 2?>
> Billions thanks.
> ------WebKitFormBoundaryrnI4ZhNB+cHhHxhK
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--00151747ba9c08c94c047b3badad