I don't believe there is anything better SUN/ND could do
to reduce the number of problems than to
publish useful guidelines for how to configure ND properly.
I'm beginning to suspect it can't be done for other
than toy projects.
Does anyone have any figures (I have asked support, but ...)
on the memory overhead per page, dataobject, displayfield etc per
project graph? Wee see figures of 10-15 MB RAM per added project graph
and I do wonder where all that memory is going.
Does anyone have any hints on how to reduce the startup times
of large projects when you use preloading?
Tuning -ms -mx and use -noclassgc helps, but only to some extent.
What is the effect of having -noasyncgc?
Is there a way to do project preloading in parallell?
(pre-loading is CPU intensive, but ND only uses one
CPU for the startup.)
For those of you with time to spare:
Turn on -verbosegc for your CP worker and count the number of freed
objects in your smDefaultPartition.log.
Now do it again in combination with full project preloading.
Disbelieve.
Create a one page, one dataobject with a handful of
bound displayfields and do it again. Full preload 300
project graphs (You don't have to increase the number of
clients, just preload more graphs) It should be sort of
equivalent to a small number of large graphs.
Try various -ms -mx -noclassgc -noverify option combinations.
Use Task Manager (or top or pmon.exe) to watch the
number of CPU seconds used, VM size or what have you.
> 4 cp and 25 clients per workers means you can have a mximum of 4 x 25
= 100 users.
> You are not using the maximum 125 users in your license.
> Try 5 cp.
I understood that 4x25 means that you can handle 100 concurrent
request. If your requests take 1 sec to perform and your
users click once every 10 seconds you should be able to handle
1000 logged in users with that setup. ND licensing probably
restricts this in mysterious ways.
> You also should have more database connections for your cp clients
> (assuming all your pages uses some db info)
> Usually you should have 1.5 times db clients for each cp clients.
I've heard 1.15, 1.25 and 1.5 as recommended ratios.
Can this be translated into
'% page hits with select' + '% page hits with transactions'
(both during heavy load)?
I.e. if all your pages use selects (100 %) and 30% also use
transactions,
you need numCPClients * 1.30 RDBMS workers.
This really is a pain if your database has a single threaded client,
e.g. Oracle. If I understand this correctly (and I have asked many
times before to no avail) the ND Oracle worker only allows one thread
no matter how many clients per RDBMS worker you tune. (The ND release
notes say that you should tune numClients per RDBMS worker anyhow,
but not why I should do this and what the effects are.)
There is a SingleThreadedRDBMS Service available on Solaris,
it is not documented and it uses a different set of .so
files than the usual RDBMS service. (I've asked support about
this too, but they don't know what it is.)
If I have a RDBMS to CP Ratio of 1.6 and 100 CP clients, am I then
supposed to have 160 RDBMS workers in 160 different
SingleThreadedRDBMS
worker processes or 16 clients on 10 RDBMS workers in 10 processes
or 160 clients on one RDBMS worker in one process or what?
And finally, how do I figure out if I need more RDBMS workers
or not? Add more until the system stops crashing? What statistics
or log messages should I look for?
/Mats
_________________________________________________________________________
For help in using, subscribing, and unsubscribing to the discussion
forums, please go to: http://www.netdynamics.com/support/visitdevfor.html
For dire need help, email: [EMAIL PROTECTED]