[ic] Should I buy another CPU?

Ron Phipps interchange-users@interchange.redhat.com
Tue Mar 19 14:53:00 2002


> -----Original Message-----
> From: interchange-users-admin@interchange.redhat.com
[mailto:interchange-
> users-admin@interchange.redhat.com] On Behalf Of Doug Alcorn
> 
> <music@labyrinth.net.au> writes:
> 
> > I would really like to try the (RPC mode, MaxServers 0) solution and
> > see how it goes before investing in more hardware, particularly as
> > it is suggested that it may not be a hardware problem.
> 
> ,----[ interchange.cfg ]
> | # Set to "low", "high", or "rpc" to get different server parameters.
> | Variable  TRAFFIC  rpc
> |
> | ifdef TRAFFIC =~ /rpc/i
> | Message RPC traffic settings.
> | PreFork             Yes
> | StartServers        5
> | MaxServers          0
> | MaxRequestsPerChild 100
> | HouseKeeping        2
> | PIDcheck            120
> | endif
> `----
> 
> I'm not sure if the StartServers config of 5 will conflict with the
> MaxServers of 0.

I don't *think* that it will conflict.  MaxServers 0 isn't actually
setting the MaxServers to 0, it's setting it to unlimited.  As Mike
explained it means that Interchange will not use two of the Perl signals
to determine the number of running servers, it will spawn as many as it
needs.

> The point is that you should simply look in your
> interchange.cfg file.  All I did was search for "rpc" and "MaxServers"
> and found this information.  I'm sure there's some documentation on
> ic.redhat.com for what all those parameters mean.  Take a look at
> http://interchange.redhat.com/cgi-
> bin/ic/documentation.html?document=icconfig
> 
> As a side note, anyone know if Google is still indexing the mailing
> list archives?  I tried a Google search on "rpc MaxServers
> site:interchange.redhat.com" and got zero hits. I would expect that to
> be false since this very thread mentions both rpc and MaxServers.

I think the mailing list archives may be broken or google is no longer
indexing them?  I tried a variety of searches and none of the recent
messages were appearing in the search.

> Can anyone provide a link to the original thread that discussed the
> problem and Mike's workaround?

I cannot find a link to the actual message so I have attached it below.
Best of luck!

-Ron

Mike over the last few weeks worked closely with myself and Orko from
the list to figure out and fix the problem I posted about back in
September.  This problem caused PGP and Sendmail to fail abnormally. The
problem also caused duplicate charges in verisign as well as single
charges with no order being stored in IC.  This problem was not seen in
IC 4.6.x but reared its ugly head in IC 4.8.x.

Orko graciously allowed us to send him fixes to be tested on his live
server.  We went through several iterations of applying patches,
changing process limits and adding logging to try and figure out what
was going on.  Originally Mike suspected it was a problem with the
Autouse setup in bin/interchange which changed from 4.6.x to 4.8.x for
the Order (encrypt, send email, chare card) functions.  We were very
excited to see this difference only to find out it was not the cause :(

Mike pressed on and went on to look at the per user process limits.
After failing to find any messages that the limit was being hit and
being unable to raise the maximum Mike decided we should move on.

One of the last things we tried was to set MaxServers to 0.  This change
forces Interchange to not use signals to determine how many servers are
running.  Mike's suspicion was that a well known problem with Perl
signal handling was causing these external programs to fail.  After
running this setting on a live server for two days we saw no orders with
the problem (which was unheard for this server!).  Mike then asked us to
try rpc mode with MaxServers set to 0.  The reasoning behind this was
that a server could spin out of control in low or high traffic mode if
MaxServers is set to 0 but in rpc mode this is not an issue.  Orko ran
MaxServers 0 and RPC mode for another day without any problem orders
occurring.

It's a mystery why this signal handling does not work in the current
scenario and Mike came to the conclusion that this is the fix if you are
experiencing the problems described above.  Please make the following
change to interchange.cfg (notice the new MaxServers setting in the rpc
mode):

Variable TRAFFIC rpc

ifdef TRAFFIC =~ /rpc/i
Message RPC traffic settings.
PreFork             Yes
StartServers        5   
MaxRequestsPerChild 100
HouseKeeping        2
PIDcheck            120
MaxServers          0
endif

Thank you to Orko for providing his live server for testing and to Mike
for sticking with us until the problem was solved.

-Ron