Page 1 of 1

How many users can DataStage handle at a time?

Posted: Wed Jan 25, 2006 5:42 am
by JeanPierreHaddad
Hello everybody,

We run a configuration of DataStage 6 for 5 users. Quite often we find that although less than 5 people are connected through the Designer or the Manager no one can open a new session.

Is there a way to check and list all the open sessions?

Thanks for any input you might bring.

Jean-Pierre

Posted: Wed Jan 25, 2006 7:10 am
by chulett
When you say that "no one can open a new session", what exactly does that mean? Do you get an error, does it tell you your license limit is at its max, something else?

There's no simple way to get a list of all licenses in use. The 'session' question can be answered by searching the forum for the use of the LIST.READU command (or list_readu from UNIX in the engine's bin directory) which will give you the information you are looking for.

Posted: Wed Jan 25, 2006 7:23 am
by JeanPierreHaddad
Thanks Craig

Yes the error message says that the license limit is reached but a simple head count in our office shows that there are not 5 sessions.
chulett wrote:When you say that "no one can open a new session", what exactly does that mean? Do you get an error, does it tell you your license limit is at its max, something else?

Posted: Wed Jan 25, 2006 7:29 am
by kumar_s
Hi,

Use

Code: Select all

netstat -a | grep 'dsrpc'
to check total number of connection made from client to server with the identification of IP address in it.
You can find the uniqe IP address to estimate the total number of client connected at the poin of time.

-Kumar

Posted: Wed Jan 25, 2006 7:42 am
by chulett
The list_readu should show you similar information. You'll see entries for each connection with a long string of "-" separated numbers. Near the end is the machine name, a colon and the pid of that connection. Each unique machine name should count as one license in use.

Posted: Wed Jan 25, 2006 10:11 am
by JeanPierreHaddad
Thanks very much for all your advices. :)

Posted: Wed Jan 25, 2006 10:50 am
by ds_developer
My memory of version 6 is that it counts licenses differently. If you open one client app., then use Tools - Run... to start another, it uses the same license. However, if you just run another client, it uses another license. I'm told now v7+ looks at IP addresses and only uses one license per connected machine regardless of how you start them - haven't had a chance to verify this though.

John

Posted: Wed Jan 25, 2006 4:59 pm
by ray.wurlod
Client licensing is now being enforced, where it wasn't prior to version 7.
Licensing is checked in three different locations, only two of which can be "hacked", so forget about trying to defeat it.

There can be a problem of licences being held by defunct (abnormally terminated or killed) connections. These will be cleaned up in the fullness of time by the deadlock daemon if you have it running.

One way on the server to determine how many client connections exist is

Code: Select all

$DSHOME/bin/list_readu | grep DS.ADMIN | wc -l
This works because each connected client sets a sharable lock to indicate to the Administrator client that the latter can not gain exclusive access to the project.

Similarly,

Code: Select all

netstat -a | grep dsrpc 
will show one process in a LISTEN state (this is the RPC daemon itself) and one ESTABLISHED connection for each active connection. If there are any connections in other states, such as SLEEP_WAIT, these are probably defunct connections.

From the Administrator client Command window you can query the DS_LICENSE file to determine even more information.

Code: Select all

SELECT F1 AS LICENSE, F2 AS LIMIT, F3 AS EXPIRY, F4 AS CLIENT FMT '60L', F5 AS PID FROM DS_LICENSE USING DICT VOC;
This is useful sometimes in games of "spot the culprit" - you can associate the pid of the agent process (dsapi_slave) on the server with the client machine name.