Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Load test; v$session.status=ACTIVE and v$session_wait.event=SQL*Net message from client

Load test; v$session.status=ACTIVE and v$session_wait.event=SQL*Net message from client

From: NetComrade <netcomradeNSPAM_at_bookexchange.net>
Date: Tue, 31 Aug 2004 19:34:01 GMT
Message-ID: <4134caec.520297307@localhost>


Hi,

We made an attempt to load test our site today, and at around 1600 concurrent users the pages started showing problems. The App servers were all busy, indicating a 'waiting for db', however the db server, even though generally busy (on OS level idle time <10%), didn't seem to have any major standing out issues. What perplexed me is the output of the following query:

select s.sid||','||serial#
sidc,username||'@'||machine||'('||osuser||'|'||program||')' username, event||' '||p1||','||p2||','||p3 event, seconds_in_wait secs, sql_hash_value sqlhashval,/*row_wait_obj#,*/logon_time from v$session s, v$session_wait sw
where

        status='ACTIVE'
        and s.sid=sw.sid

order by logon_time

(username,sid infodeleted for space saving)

EVENT                          SECS SQLHASHVAL LOGON_TIME
------------------------------ ---- ---------- --------------------
pmon timer 300,0,0               39          0 31-aug-2004 13:59:04
rdbms ipc message 300,0,0         1          0 31-aug-2004 13:59:04
rdbms ipc message 184,0,0         0          0 31-aug-2004 13:59:04
rdbms ipc message 300,0,0         0          0 31-aug-2004 13:59:04
mon timer 300,0,0              889 1714733582 31-aug-2004 13:59:04
rdbms ipc message 180000,0,0    839  189272129 31-aug-2004 13:59:04
SQL*Net message from client 12    0 1702236704 31-aug-2004 14:11:20
SQL*Net message from client 12    0 2873088112 31-aug-2004 14:11:24
SQL*Net message to client 1297    0  194973690 31-aug-2004 14:11:28
SQL*Net message from client 12    0 1702236704 31-aug-2004 14:11:41
SQL*Net message from client 12    0 3385580940 31-aug-2004 14:12:16
SQL*Net message from client 12    0 1556824455 31-aug-2004 14:12:17
SQL*Net message from client 12    0 2039124575 31-aug-2004 14:12:19
SQL*Net message from client 12    0 2686954451 31-aug-2004 14:12:23
SQL*Net message from client 12 0 1702236704 31-aug-2004 14:13:21 SQL*Net message from client 12 0 2819921362 31-aug-2004 14:14:00

The first 6 is pmon/dbwr, and the like
The rest are web server/app server sessions, minus the 'to client' one, which was the current session.

The question is, in what cases what a session be 'ACTIVE' and waiting for something from a client? During high load, I'd waits such as on IO, or memory ('buffer busy'), or log switching or latch contention
(which happenned a little here, since this is MTS, plus there are some
hard parses)

If this is of any help, there were also a bunch of locks, that I didn't get a chance to catch, but which I suspect were due to updating session information in the db, which is not usually a problem in production

From perfstat

Load Profile

~~~~~~~~~~~~                            Per Second       Per
Transaction
                                   ---------------
---------------
             Redo size:              4,590.25                308.02
         Logical reads:              5,587.47                374.93
         Block changes:                 36.22                  2.43
        Physical reads:                  7.72                  0.52
       Physical writes:                  9.55                  0.64
            User calls:                744.13                 49.93
                Parses:                114.04                  7.65
           Hard parses:                  0.83                  0.06
                 Sorts:                 59.58                  4.00
                Logons:                 10.03                  0.67
              Executes:                411.64                 27.62
          Transactions:                 14.90

  % Blocks changed per Read:    0.65    Recursive Call %:   35.11
 Rollback per transaction %:   86.31       Rows per Sort:   13.79

Instance Efficiency Percentages (Target 100%)


            Buffer Nowait %:   99.99       Redo NoWait %:   99.99
            Buffer  Hit   %:   99.86    In-memory Sort %:   99.90
            Library Hit   %:   99.86        Soft Parse %:   99.27
         Execute to Parse %:   72.30         Latch Hit %:   99.57
Parse CPU to Parse Elapsd %:   47.63     % Non-Parse CPU:   96.15

 Shared Pool Statistics        Begin   End
                               ------  ------
             Memory Usage %:   18.72   24.27
    % SQL with executions>1: 82.66 72.57   % Memory for SQL w/exec>1: 91.38 68.38

Top 5 Wait Events

~~~~~~~~~~~~~~~~~                                             Wait
% Total
Event                                   Waits  Time (cs)   Wt Time
-------------------------------- ------------ ------------ -------
enqueue                                  17,214      689,823   84.46
SQL*Net break/reset to client            69,175       75,160    9.20
latch free                               10,372       15,521    1.90
log file sync                             5,520       10,711    1.31
direct path write                        6,377        7,122     .87


The machine is a Sun e4500 w/ 8CPUs
.......
We use Oracle 8.1.7.4 on Solaris 2.7 boxes remove NSPAM to email Received on Tue Aug 31 2004 - 14:34:01 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US