Re: OnLine Internals and Performance Questions
Posted in 1997
jim,
> - The IFMX docs say that MAXCPUVP should not exceed the real number
> of processors in the system. However, my CPU's are typically running at
> 50-65% utilization. Is there really anything that could go wrong if the
> number of CPU VP's were greater than physical processors?
it depends, but it won't hurt you to try, and in this case, it sounds
like you will see some improvement. usually, in DSS environments, the
number of cpuvps's is set to more than the number of cpu's. start out
at 1.5 times the number of cpus you have, and note your performance and
cpu utilization from there, and just keep going up until you see no
further improvement or a degradation.
> - The IFMX docs also say that the number of NET VP's should not
> exceed MAX CPUVP. However, again, if I am lacking poll threads, can I
the above should take care of that.
> - A related question is is it syntactically legal to have lines in
> the config file of:
> NETTYPE tlitcp,4,200,CPU
> NETTYPE tlitcp,4,200,NET> Would the second line effectively replace the first? Would they both be
> used to instantiate the apprpriate VP's (a total of 8)?
what this will do is assign 4 poll threads to 4 cpuvps, if there are 4
cpuvps available to run that many threads. if not, then the engine will
start up additional net vps. the second line will *specificaly* start 4
net vp's. this configuration is fine as long as you have the throughput
to handle all those poll threads. they recommend one poll thread for
~200 users, although i've never had a chance to play with it to that
degree. you might not need nearly this many, but just having more
cpuvp's as descibed above could take care of your problem.
> - Another relevant question has to do with the recycling and reuse
> policies of scoket threads. Are they released upon disconnect? Are all
> threads polled regardless of a connection on the other side? How much of a
> performance impact is there on having the number of possible connections
> set too high?
what do you mean by socket threads? a thread is running for an
application once the connection is made. once the connection is
dropped, that thread no longer exists, and a new thread will be started
for the next connection. the listen thread simply makes the connection
once the poll thread has found a request for a connection,
and then the poll thread goes back to looking for connections.
hope this helps. post your results once you start playing with the
cpuvps. you can add them on the fly with onmode, so it should be really
easy to test this out.
mickm