Count User parameter

nonscio

New Member
I was trying to increase the count user number now i have 32 servers, min 3 and max 4 user per server and a total max user 128.

Now I want to increase the count to 170.

Do I need to update the counters only in the conmgr.properties and reboot the server?
What happen with the other parameters like shared memory for this new users, Do I need to modify it too?

Thanks.
 
I was trying to increase the count user number now i have 32 servers, min 3 and max 4 user per server and a total max user 128.

Now I want to increase the count to 170.

Do I need to update the counters only in the conmgr.properties and reboot the server?
What happen with the other parameters like shared memory for this new users, Do I need to modify it too?

Thanks.

Yes, modify conmgr and restart the db.

Shared memory and most other parameters are not related to user count. Lock table size (-L) might be -- it depends on how your application behaves.

Usually you want number of connections (-n) to be substantially greater than number of servers * number of connections per server (-Ma * -Mn).

Minimum connections (-Mi) should probably be 1. That gives you "round robin" assignment of connections to servers which is usually more desirable and better performing.

Posting the same thread multiple times isn't going to get the question answered any faster or better. It might, however, result in completely confusing everyone.
 
Yes, modify conmgr and restart the db.

Shared memory and most other parameters are not related to user count. Lock table size (-L) might be -- it depends on how your application behaves.

Usually you want number of connections (-n) to be substantially greater than number of servers * number of connections per server (-Ma * -Mn).

Minimum connections (-Mi) should probably be 1. That gives you "round robin" assignment of connections to servers which is usually more desirable and better performing.

Posting the same thread multiple times isn't going to get the question answered any faster or better. It might, however, result in completely confusing everyone.

Thanks for your help Tom, but I modified the conmgr and doesn't work.

I have 2 DBs and the following information or each one:

DB1
Shared Resources:
Number of database buffers (-B): 107240
Number of before image buffers (-bibufs): 25
Number of after image buffers (-aibufs): 25
Excess shared memory size (-Mxs): 96
Before-image truncate interval (-G): 0
No crash protection (-i): Not enabled
Maximum private buffers per user (-Bpmax): 64
Current size of locking table (-L): 8192
Locking table entries in use: 84
Locking table high water mark: 1310
Maximum number of clients per server (-Ma): 5
Max number of JTA transactions (-maxxids): 0
Delay of before-image flush (-Mf): 3
Maximum number of servers (-Mn): 34
Maximum number of users (-n): 172
Before-image file I/O (-r -R): Raw
Shared memory version number: 64010213

DB2
Shared Resources:
Number of database buffers (-B): 35746
Number of before image buffers (-bibufs): 25
Number of after image buffers (-aibufs): 25
Excess shared memory size (-Mxs): 96
Before-image truncate interval (-G): 0
No crash protection (-i): Not enabled
Maximum private buffers per user (-Bpmax): 64
Current size of locking table (-L): 8192
Locking table entries in use: 0
Locking table high water mark: 13
Maximum number of clients per server (-Ma): 5
Max number of JTA transactions (-maxxids): 0
Delay of before-image flush (-Mf): 3
Maximum number of servers (-Mn): 34
Maximum number of users (-n): 172
Before-image file I/O (-r -R): Raw
Shared memory version number: 64010213

When the count users connected are on 98 or 99 the new ones receive the following message:

"The server or the system has no more resources. Please contact Progress Technical Support. (748)"

They are connected from windonws C:\Progress\OpenEdge\bin\prowin32.exe -pf c:\DB.pf -ininame c:\DB.ini -p m-main.w

the DB.pf
-Mm 8192
-db DB1
-ld DB1
-L 100
-inp 320
-d mdy
-yy 1970
-N TCP
-H SERVER
-S XXXX


-db DB2
-ld DB2
-L 10000
-inp 32000
-d mdy
-yy 1970
-N TCP
-H SERVER
-S XXXX

-h 10
-Bt 10000
-s 256
-rereadnolock
-wy

Do you look something bad???
 
I would start by increasing -n to 250.

Are you also starting a secondary broker? Is -Mpb being set?

You should also check the PROMON summary screen (#5, "activity" off the main PROMON menu) or, better yet, download ProTop and use it to give you a view of your situation. Your situation may not be what you think that it is.
 
I would start by increasing -n to 250.

Are you also starting a secondary broker? Is -Mpb being set?

You should also check the PROMON summary screen (#5, "activity" off the main PROMON menu) or, better yet, download ProTop and use it to give you a view of your situation. Your situation may not be what you think that it is.

No, -Mpb are no set, Do I have to set it?

My enviroment is in linux
 
No, you do not need -Mpb. I was making sure that you are NOT using it.

What does "my environment is in Linux" relate to? (It's useful information and I'm happy to hear but it doesn't seem to be related to anything else that we've been talking about...)

While you're disclosing details -- what version of Progress is this?

Since it is Linux what does " cat /proc/sys/kernel/sem" have to say? If the first number is small, say 250, then this might help:

Code:
# Linux Kernel Parameter settings

LOG=/tmp/kernel.log

SEM=/proc/sys/kernel/sem
SHMMAX=/proc/sys/kernel/shmmax
SHMMNI=/proc/sys/kernel/shmmni
SHMALL=/proc/sys/kernel/shmall
MAXFILE=/proc/sys/fs/file-max

echo "" >> $LOG
date >> $LOG
echo "Current kernel settings:" >> $LOG
( echo -n "Semaphores: " ; cat $SEM ) >> $LOG
( echo -n "SHMMAX: " ; cat $SHMMAX ) >> $LOG
( echo -n "SHMMNI: " ; cat $SHMMNI ) >> $LOG
( echo -n "SHMALL: " ; cat $SHMALL ) >> $LOG
( echo -n "Max open files: " ; cat $MAXFILE ) >> $LOG
( echo -n "File size: " ; ulimit ) >> $LOG
# ( echo -n "User processes: " ; ulimit -u ) >> $LOG
# ( echo -n "User open files: " ; ulimit -n ) >> $LOG

exit

echo 1000 32000 100 100 > $SEM

echo 2147483648 > $SHMMAX
echo 4096 > $SHMMNI
echo 2097152 > $SHMALL

echo 65536 > $MAXFILE

# ulimit -u 16384               # max number of user processes
# ulimit -n 65536               # max number of user open files

echo "" >> $LOG
echo "New kernel settings:" >> $LOG
( echo -n "Semaphores: " ; cat $SEM ) >> $LOG
( echo -n "SHMMAX: " ; cat $SHMMAX ) >> $LOG
( echo -n "SHMMNI: " ; cat $SHMMNI ) >> $LOG
( echo -n "SHMALL: " ; cat $SHMALL ) >> $LOG
( echo -n "Max open files: " ; cat $MAXFILE ) >> $LOG
( echo -n "File size: " ; ulimit ) >> $LOG
# ( echo -n "User processes: " ; ulimit -u ) >> $LOG
# ( echo -n "User open files: " ; ulimit -n ) >> $LOG
 
I did the modification over SYSCTL only SEM parameter, because it was the only different, and executed the sysctl -p command, but i'm still receiving the same message.

So you say that i have to increase -n to 250, if i have 34 servers and maxusersperserver=5 that could be a problem?

also as you can see i'm getting pend. users in one of my DB:
16 8467 Auto TCP 29 0 5 5 3370
17 8469 Auto TCP 41 0 5 5 3371
18 8476 Auto TCP 37 0 5 5 3404
19 8478 Auto TCP 0 5 0 5 3405
20 8504 Auto TCP 0 5 0 5 3406
21 8508 Auto TCP 0 5 0 5 3407
22 8512 Auto TCP 0 5 0 5 3408
 
I'm saying the -n should be set to a value much larger than -Ma * -Mn. In your case, given the descriptions provided, I would use 250. This is a general good practice that avoids many problems that behave in a manner similar to what you are describing.

I have no idea what you set the semaphore parameters to thus I have no idea if the values in use are good bad or indifferent. But you need at least as many semaphores available as the sum of the -n parameters for all databases. (Plus however many more you might need for other programs running on the system.) You also need to restart the database after changing them.

I don't have any idea what screen you're showing the output of here:
16 8467 Auto TCP 29 0 5 5 3370
17 8469 Auto TCP 41 0 5 5 3371
18 8476 Auto TCP 37 0 5 5 3404
19 8478 Auto TCP 0 5 0 5 3405
20 8504 Auto TCP 0 5 0 5 3406
21 8508 Auto TCP 0 5 0 5 3407
22 8512 Auto TCP 0 5 0 5 3408

So, actually, no I don't know that you have pending users. At the moment I'm taking that on faith.

(Selected slices of data taken out of context which do not match what I ask for really aren't likely to be useful. At best they are random flailing that might accidentally reveal something.)

I suggested that you show the PROMON summary screens and/or download ProTop and show the configuration and summary screens so that we can get a better look at what is happening. You may, for instance, have users or connections active that you are unaware of. You can download ProTop for OpenEdge 10.2 and run it client/server against a Linux or Windows db. It will run against a v9 db too. If necessary you can also download the 10.2 eval kit so that you will have 10.2.

I asked what version of Progress this is for a reason too -- you might have a bug or a "known issue" that is version specific. Since you haven't answered I can only assume that you are embarrassed to admit that you're running some awful, ancient, obsolete and unsupported release (although I wouldn't normally call OpenEdge 10.1 ancient & obsolete quite yet and, last I checked it was still supported -- at least if you're properly patched). Obviously you should upgrade ASAP if it's bothering you that much but that doesn't mean that we cannot continue to try to work through the issue.
 
I'm saying the -n should be set to a value much larger than -Ma * -Mn. In your case, given the descriptions provided, I would use 250. This is a general good practice that avoids many problems that behave in a manner similar to what you are describing.

I have no idea what you set the semaphore parameters to thus I have no idea if the values in use are good bad or indifferent. But you need at least as many semaphores available as the sum of the -n parameters for all databases. (Plus however many more you might need for other programs running on the system.) You also need to restart the database after changing them.

I don't have any idea what screen you're showing the output of here:


So, actually, no I don't know that you have pending users. At the moment I'm taking that on faith.

(Selected slices of data taken out of context which do not match what I ask for really aren't likely to be useful. At best they are random flailing that might accidentally reveal something.)

I suggested that you show the PROMON summary screens and/or download ProTop and show the configuration and summary screens so that we can get a better look at what is happening. You may, for instance, have users or connections active that you are unaware of. You can download ProTop for OpenEdge 10.2 and run it client/server against a Linux or Windows db. It will run against a v9 db too. If necessary you can also download the 10.2 eval kit so that you will have 10.2.

I asked what version of Progress this is for a reason too -- you might have a bug or a "known issue" that is version specific. Since you haven't answered I can only assume that you are embarrassed to admit that you're running some awful, ancient, obsolete and unsupported release (although I wouldn't normally call OpenEdge 10.1 ancient & obsolete quite yet and, last I checked it was still supported -- at least if you're properly patched). Obviously you should upgrade ASAP if it's bothering you that much but that doesn't mean that we cannot continue to try to work through the issue.

The version that i'm using is the 10.1C and the numbers up is the servers.
 
The version that i'm using is the 10.1C

What service pack?

...and the numbers up is the servers.

Sorry, but I still don't know where that came from. How did you obtain these numbers? Did you run a utility that you are showing a screen from? Is it a report from some tool?

What did you set semaphores to? What does "cat /proc/sys/kernel/sem" have to say?

Have you modified -n to 250 and restarted?

Can you provide the PROMON summary screen?

How about the ProTop configuration and summary screens?

How are you starting and stopping your databases? (What commands are you using? conmgr.properties doesn't apply unless you are using dbman.)

Please answer all of these questions.
 
I think the numbers are form promon R&D 1,3.
If you have pending connections then this might have to do with some network problems you have.
There is a parameter -PendConntime which sets the time within a user has to have made a connection otherwise the connection is dropped: see http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress&id=P10793 for more information on this parameter.

You coulk try setting -minport and -maxport to another range see also:
http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress&id=P132208

HTH,

Casper.
 
One other thing that crossed my mind: is there a firewall between the clients and the server?

Regards,
Casper.
 
I think the numbers are form promon R&D 1,3.
If you have pending connections then this might have to do with some network problems you have.
There is a parameter -PendConntime which sets the time within a user has to have made a connection otherwise the connection is dropped: see http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress&id=P10793 for more information on this parameter.

You coulk try setting -minport and -maxport to another range see also:
http://progress.atgnow.com/esprogress/Group.jsp?bgroup=progress&id=P132208

HTH,

Casper.

That is right Casper is the servers information.
I've include -PendConntime parameter but the problem is still there.

I've note that file /etc/services have many ports to other programs (including some in progress range 2000-2500 and 3000 and 3500) could it be the problem?
I've changed the SEM parameter into sysclt:
1000 32000 100 128
But nothing of that works...
 
Remaining unanswered questions:

What service pack?

Have you modified -n to 250 and restarted?

Can you provide the PROMON summary screen?

How about the ProTop configuration and summary screens?

How are you starting and stopping your databases? (What commands are you using? conmgr.properties doesn't apply unless you are using dbman.)

Please answer all of these questions.

Yes, the -minport, -maxport range should be kept clean of "other" services. But another service in that range would usually result in different sorts of errors.
 
Back
Top