Skip to end of metadata
Go to start of metadata

Monitoring Enqueue handles entries

A client (work process for example) request to the ENSA a connection and this is received by the Enqueue Listener Thread (dev_enqlisten trace) and the listener forward this connection to the Enqueue IO Thread (dev_enqio_X traces).
Is is possible to configure multiple IO threads to attend clients with the parameter enque/server/threadcount. Usually is between 1 and 4.

If the enque/server/max_clients is set to 2000, for example, and there are 4 IO threads available, each thread will attend 500 + 1 clients.
If 2 IO thread, 1000 + 1 each one and so on.

It is possible to monitor the maximum number of clients already attended simultaneously using the ensmon tool from OS level. The syntax is:

ensmon -H <hostname> -I <instance number> 7

The option 7 show "information about all Enqueue Server threads" hence we can see useful information. The output of separated in 4 sessions:
- Information about ADM thread
- Information about listen thread
- Information about replication thread
- Information about worker thread

The last one is the focus of this post. For each IO thread we see:

IO thread 1:
[...]
Max clients:501
[...]
Client count:12
IO thread 2:
[...]
Max clients:501
[...]
Client count:12

 

In such example the parameters are:
enque/server/max_clients 1000
enque/server/max_clients 2

Therefore, the "Client count" show us the maximum number of simultaneous clients already attended to each IO Thread since the start up.

In case of a shortage of handles, the number of "Client count" reach the number of "Max clients". This is a way to monitor Enqueue handles in order to avoid a fail.

 

 

 

 

<back to FAQ section>