Kbase 16693: Licensed User Count vs Number of Database Connections (-n)
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Unverified
GOAL:
An explanation of the differences between the number of licensed users and the number of connections that can be made to the database (-n).
GOAL:
What is the difference between database connections and the licensed user count?
GOAL:
Does the licensed user count limit connections?
GOAL:
What does the licensed user count mean?
FACT(s) (Environment):
All Supported Operating Systems
Progress/OpenEdge Versions
FIX:
There has been on-going discussion on the differences between the ?licensed user count? and the maximum number of users connecting to the database (-n). One incorrect assumption that is made (for example) is, if the database has 100 licensed user restriction, then only 100 connections could be made to the database (remote clients, local clients, including progress processes (APW, BIW, AIW, Watchdog etc...). This is not the case.
In a nutshell:
The maximum number of connections is the same as the -n database startup parameter.
The maximum, minimum and average number of connections can be calculated from the .lic file.
The number of concurrent connections can be calculated with Virtual System Tables or Promon views
But the Total number of concurrent USERS (not connections) is registered in the .cfg file and cannot be calculated at any given time.The licensed user count (as recorded in the progress.cfg file) must be at least equal to the total number of simultaneous display devices running a Progress product or accessing a Progress database or dataserver. A display device may access the database directly as a self-service client or on a host/terminal connection, via client-server connection or via Progress AppServer. Please remember that all products must be licensed for the peak number of users and background jobs that are concurrently connecting and/or using the product.
Basically this means that if an individual is accessing and connecting to the database from the same display devices (terminal and/or machine), this counts as one licensed user, even though this individual may have many sessions connecting to the database. BUT, each time the user connects to the database, irrespective of how the user may be connecting to the database, this will count -1 for EACH connection off the maximum number of users connecting to the database (-n).
In addition, if a user is connecting to multiple databases using the same user id and password (from the same display device) then the connection still acts as one license user connecting to multiple databases.
In other words: starting a second session on the same PC would decrease the -n count by one on the database, but not the license count. This is further explained in detail by way of example in Solution P25732 referenced below.
Additionally, the _Connect VST table can be employed to find the total number of users connected to the database or even the _Servers. For example the following will be a count of all the TCP/IP (client/server) connections (but not how many concurrent Users make up this number, this cannot be calculated):
DEFINE VARIABLE icount AS INTEGER INITIAL 0 NO-UNDO.
FOR EACH _Servers WHERE _Server-Num <> 0:
icount = icount + _Server-CurrUsers.
END.
DISPLAY icount.
Otherwise the _Connect VST is more appropriate if there are also shared-memory connections involved. The _Connect-Name could be used to check against a list of allowed users or the _Connect-Type could be used to filter the local [SELF] and remote [REMC] to limit the number of user connections.Of course in situations where one site is running multiple Progress application, licenses must be purchased for EACH application for both the clients and database.
Please note, that all information is subject to change as new terminology is introduced within the market and/or PSC. Also all information has been obtained from Products, Policy and Configuration Guide for Progress 7, 8, and 9. For more information on this, please contact Progress Sales for any additional information.