Server Parameters

sureshp

Member
Hi,

can anyone please tell me what the purpuse of each parameter below is

-cpinternal 620-2533
-cpstream 620-2533

-cpcoll thai-old
-cprcodein 620-2533
-L 1000000
-c 250
-Ma 3
-Mn 1
-spin 50
-semsets 1
-n 70

and is that optimum for around 25 users, please advice how i can modify the values for the parameters.

thanks
 
Have you read the documentation?

Is there something about it that is unclear? I see little point in cutting, pasting & regurgitating it.

I will, however, comment on the appropriateness of the values shown to a 25 user system.

-cp*

These depend entirely on your local language and the code pages needed to support it. They have nothing to do with performance or user load.

-L 1000000

This is quite high. I've commented on similar issues in a number of threads recently. Basically it tells me that you probably have a serious coding problem.

-c 250

You probably don't need this. Have you ever seen a "too few index cursors" error message?

-Ma 3 -Mn 1

These two are related. Together they mean that you can have, at most, 3 remote clients connected to your db. However you do not have -S specified so in reality no remote clients can connect thus this is just a pointless pair of parameters. If there is an undisclosed -S and if you really intend for 25 remote users you would probably want -Mn 10 -Ma 3 -Mi 1 (that would be good for 30 connections, a few extra are good to have).

-spin 50

This is not a good setting. -spin is independent of user count. A value of 0 means to use an alternate locking mechanism (semaphores) which is much, much slower. -spin 1 is sometimes useful for single-CPU/core servers. Usually a value between 2000 and 20000 is going to work best. You can use readprobe to help find the optimum value for your server but really just setting it to 10000 is simple, easy and probably "good enough".

-semsets 1

That is the default and there would be no reason to change it unless you have hundreds (or thousands) of users. Then you might want 1 semset per 100 users.

-n 70

This is a good idea. I always set -n to a value much higher than my actual user count. It gives the helper processes room to work and avoids problems with users reconnecting sessions that have dropped at the OS level but which have not yet been cleaned up on the Progress side.

Some that are missing:

-S

You may, or may not, need this. It depends on whether or not you plan to have remote clients as opposed to self-service sessions.

-Mi

It defaults to 1 and that is usually best so perhaps it isn't missing. It is only relevant if -S is also present.

-Mpb & -ServerType

If remote clients or ODBC connections are in the mix you may also want a discrete 4GL broker and a SQL92 broker.

-B

If performance is important then you want a large -B. There are practical limits on its size depending on your OS, the amount of RAM that you have and whether Progress is 32 bit or 64 bit. It is measured in terms of db block size.

How you go about changing parameters depends on how you manage your databases. If they are "scripted" then you change command lines or .pf files. If they are "managed" then you use Progress Exploder to modify conmgr.properties. Personally I'm a "scripted" kind of guy.
 
Back
Top