URGENT!!! -n parameter question

maday15

Member
Sorry, it's a little urgent for me obviously not for anyone else.

I got the following error today on my Production OpenEdge 10.0B database:

You have attempted to connect to a database with too many
users connected to it. Retry the connection later,
or increase -n on the server. (5291)

I know I have to increase the -n start parm, but I would like to know what else needs to change. I believe I need to change the -Mbp and -Mn. Here are my current parms:

-n 961
-Mn 91
-Mpb 70
-Ma 14

We think the -n should have been 980, after reading somewhere that -n should be equal to the largerst -Mbp x -Ma. So, we plan on doing the following tonight unless someone on this message board thinks it's crazy and has a better suggestion.

-n 1120
-Mn 101
-Mpb 80
-Ma 14


Thanks!
 

TomBascom

Curmudgeon
-n should always be much, much larger than the minimum that you need to "get by". In this case I would likely set it to something more like 1,200.

You're using -Mpb. Is that because you have multiple brokers running?

Typically I would set -Mn and -Mpb to a much larger value and set -Ma to something more like 5.
 

maday15

Member
Thanks Tom, yes it is multiple brokers. So something like

-n 1200
-Mn 261
-Mpb 240
-Ma 5

Would be good?

Second broker has an Mpb of 20.
 

TomBascom

Curmudgeon
Assuming that there might be 1,000 sessions trying to connect:

-n 1200
-Mn 300
-Mpb 200
-Ma 5

5 * 200 = 1,000 connections via that broker. Maybe you only need 980 -- but having a few extra is a good idea.

-Mn 300 gives you plenty of flexibility for secondary brokers (if the only existing other broker just has 20 connections)

-n 1200 leaves plenty left over for BIW, AIW, APW, WDOG, PROMON sessions and any other stuff that might need a shared memory connection. Or a 3rd broker being started ad hoc.

I'd probably also add -ServerType 4GL. It's good to be clear about these things right up front.
 

maday15

Member
Thanks again Tom!

Sergio,
I'm not 100% sure how many users, the business units are adding contractors we were unaware of, and we thought the -n 961 was good but obviously it wasn't, we want to have room for at least another 100 users.
 

TomBascom

Curmudgeon
I forgot to mention...

You should also be using -Mi 1. That is the default but I find it useful to make it explicit. -Mi 1 means that sessions will be assigned to servers in "round robin" fashion. This spreads the load evenly across the servers. It also makes it so that you could set -Ma higher "just in case" without worrying that you are overloading your servers. You would still want to monitor with the intent of keeping the number of sessions per server "reasonable" (i.e. 5) but if additional users were suddenly added you'd have a bit more time to adjust -n, -Ma and -Mpb.
 

onire

New Member
hello..
i just got the same problem, running on Progress 9.1D..
can i do the same way? and where i have to find the -n parameter?
many thanks...
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
i just got the same problem, running on Progress 9.1D..

What problem? A 5291 error? It's hard to help without knowing your current configuration. You can find your database broker startup parameters in the startup portion (first 60 lines or so) of your database log, after the most recent "Multi-user session begin" message.

and where i have to find the -n parameter?

In the log file (as above; -n is a (4260) message), or in promon. Run "promon <dbname>" and look at option 6 (Shared resources). I don't have access to a V9 DB but I assume option 6 is the same there as in V10.
 
Top