8 Replies Latest reply: Jan 14, 2013 7:18 AM by Molchanov RSS

    MTS. listener current connection

    Molchanov
      Hi!

      I have configured MTS server with this parameters:

      shared_servers : 42
      max_shared_servers : 42
      dispatchers : (protocol=tcp)(dispatchers=5)(LISTENER=MDB)

      -bash-4.0$ lsnrctl service

      LSNRCTL for HPUX: Version 11.2.0.1.0 - Production on 11-JAN-2013 12:21:51

      Copyright (c) 1991, 2009, Oracle. All rights reserved.

      Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=offdb2)(PORT=1522)))
      Services Summary...
      Service "MDB" has 2 instance(s).
      Instance "MDB", status UNKNOWN, has 1 handler(s) for this service...
      Handler(s):
      "DEDICATED" established:15388 refused:0
      LOCAL SERVER
      Instance "MDB", status READY, has 5 handler(s) for this service...
      Handler(s):
      "D005" established:20095 refused:0 current:177 max:2046 state:ready
      DISPATCHER <machine: offdb2, pid: 24955>
      (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60653))
      "D004" established:19617 refused:0 current:163 max:2046 state:ready
      DISPATCHER <machine: offdb2, pid: 24953>
      (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60651))
      "D003" established:24837 refused:0 current:177 max:2046 state:ready
      DISPATCHER <machine: offdb2, pid: 24951>
      (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60650))
      "D002" established:21684 refused:0 current:164 max:2046 state:ready
      DISPATCHER <machine: offdb2, pid: 24949>
      (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60649))
      "D001" established:23888 refused:0 current:164 max:2046 state:ready
      DISPATCHER <machine: offdb2, pid: 24947>
      (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60648))
      The command completed successfully

      From doc. I see that the "current" is the number of client connections it is handling, that is, its current load.

      It is not correlating with the sessions or processes in DB, so what does this means?

      Does it show that more than 150 connections try to perform connection simultaneously?
        • 1. Re: MTS. listener current connection
          Mihael
          shared_servers : 42
          max_shared_servers : 42
          dispatchers : (protocol=tcp)(dispatchers=5)(LISTENER=MDB)

          -bash-4.0$ lsnrctl service

          LSNRCTL for HPUX: Version 11.2.0.1.0 - Production on 11-JAN-2013 12:21:51

          Copyright (c) 1991, 2009, Oracle. All rights reserved.

          Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=offdb2)(PORT=1522)))
          Services Summary...
          Service "MDB" has 2 instance(s).
          Instance "MDB", status UNKNOWN, has 1 handler(s) for this service...
          Handler(s):
          "DEDICATED" established:15388 refused:0
          LOCAL SERVER
          Instance "MDB", status READY, has 5 handler(s) for this service...
          Handler(s):
          "D005" established:20095 refused:0 current:177 max:2046 state:ready
          DISPATCHER <machine: offdb2, pid: 24955>
          (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60653))
          "D004" established:19617 refused:0 current:163 max:2046 state:ready
          DISPATCHER <machine: offdb2, pid: 24953>
          (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60651))
          "D003" established:24837 refused:0 current:177 max:2046 state:ready
          DISPATCHER <machine: offdb2, pid: 24951>
          (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60650))
          "D002" established:21684 refused:0 current:164 max:2046 state:ready
          DISPATCHER <machine: offdb2, pid: 24949>
          (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60649))
          "D001" established:23888 refused:0 current:164 max:2046 state:ready
          DISPATCHER <machine: offdb2, pid: 24947>
          (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60648))
          The command completed successfully

          From doc. I see that the "current" is the number of client connections it is handling, that is, its current load.

          It is not correlating with the sessions or processes in DB, so what does this means?
          you limit amount of processes by "max_shared_servers" parameter ;
          so 42 shared servers serves all connections which are limited by "sessions" parameter
          • 2. Re: MTS. listener current connection
            JohnWatson
            If you check how many circuits each dispatcher is maintaining, you may get a correlation:

            select count(*),name from v$circuit join v$dispatcher on (dispatcher=paddr) group by name;
            • 3. Re: MTS. listener current connection
              Molchanov
              Some correlation maybe preset but 155(+-2)!=183.

              I try testing this in other env. with 2 dispatchers. And yes! They are correlated with each other!

              Now I want to understand why in first example "count(*)"!="current", can you help me please?

              Maybe listener do not cleans some resources and therefore we can see some build up of "current" connections in lsnrctl?


              SQL> select count(*),name from v$circuit join v$dispatcher on (dispatcher=paddr) group by name;

              COUNT(*) NAME
              ---------- ----
              154 D004
              155 D001
              154 D005
              156 D002
              156 D003

              SQL> quit;
              Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
              With the Partitioning and Data Mining options
              -bash-4.0$ lsnrctl service

              LSNRCTL for HPUX: Version 11.2.0.1.0 - Production on 11-JAN-2013 16:19:04

              Copyright (c) 1991, 2009, Oracle. All rights reserved.

              Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=offdb2)(PORT=1522)))
              Services Summary...
              Service "MDB" has 2 instance(s).
              Instance "MDB", status UNKNOWN, has 1 handler(s) for this service...
              Handler(s):
              "DEDICATED" established:15951 refused:0
              LOCAL SERVER
              Instance "MDB", status READY, has 5 handler(s) for this service...
              Handler(s):
              "D005" established:20891 refused:0 current:183 max:2046 state:ready
              DISPATCHER <machine: offdb2, pid: 24955>
              (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60653))
              "D004" established:20343 refused:0 current:183 max:2046 state:ready
              DISPATCHER <machine: offdb2, pid: 24953>
              (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60651))
              "D003" established:25686 refused:0 current:183 max:2046 state:ready
              DISPATCHER <machine: offdb2, pid: 24951>
              (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60650))
              "D002" established:22367 refused:0 current:183 max:2046 state:ready
              DISPATCHER <machine: offdb2, pid: 24949>
              (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60649))
              "D001" established:24656 refused:0 current:183 max:2046 state:ready
              DISPATCHER <machine: offdb2, pid: 24947>
              (ADDRESS=(PROTOCOL=tcp)(HOST=offdb2)(PORT=60648))
              The command completed successfully
              • 4. Re: MTS. listener current connection
                sb92075
                Molchanov wrote:
                Hi!

                I have configured MTS server with this parameters:
                I stopped using MTS last Century due to performance limitations.

                How much RAM is in this system?

                What will you do differently after you have the answer based upon this new detail?
                • 5. Re: MTS. listener current connection
                  jgarry
                  Maybe the difference is the virtual circuits that are awaiting in the queue to be picked up by a dispatcher, so there is nothing to join for those. Look up v$queue in the docs, look at the history, look at the 183 items rather than aggregating.
                  • 6. Re: MTS. listener current connection
                    JohnWatson
                    jgarry wrote:
                    Maybe the difference is the virtual circuits that are awaiting in the queue to be picked up by a dispatcher, so there is nothing to join for those.
                    I don't think so. There should be a one-to-one mapping of circuits to sessions, join v$circuit.saddr to v$session.saddr (I think) to check.
                    I am thinking that the discrepency may be to do with pmon monitoring sssions and updating the listener. After the listener hands off the connect request to a dispatcher, it won't talk to the dispatcher again. The information it gives us through lsnrctl will be the information passed to it by pmon, when pmon registers services every few seconds. Could something be happening there that we don't understand?
                    • 7. Re: MTS. listener current connection
                      jgarry
                      Well, my view of MTS matches sb's - I still resent having wasted a half a day in the '90's in an Oracle class about it - so have fun.
                      • 8. Re: MTS. listener current connection
                        Molchanov
                        sb92075 wrote:
                        Molchanov wrote:
                        Hi!

                        I have configured MTS server with this parameters:
                        I stopped using MTS last Century due to performance limitations.

                        How much RAM is in this system?

                        What will you do differently after you have the answer based upon this new detail?
                        It's no matter how much RAM in this config, because MTS it is a application requirements (((
                        I hate the one who developed this.
                        App. are using Oracle XA/ Open Distributed Transaction Processing (DTP) with DB links (http://docs.oracle.com/cd/E11882_01/appdev.112/e25518/adfns_xa.htm#BGBEBBDF)

                        Sorry but I can't understand what reale you mean : "What will you do differently after you have the answer based upon this new detail?"