RE: Increasing row retrieving speed via net8

From: Timur Akhmadeev <Akhmadeev_at_NetCracker.com>
Date: Thu, 19 Apr 2012 08:02:36 +0000
Message-ID: <FFB456FD9AC03C48B943326F553A70AC5044C22B_at_umaildb2.netcracker.com>



--Trying to repeat my message with no HTML
Here is an example of strace taken from a running application deployed on WebLogic:

% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------

92.44    4.924927          18    272451    134554 futex
  5.68    0.302773        1097       276           poll
  1.54    0.081984       27328         3           accept
  0.26    0.013927           0    407297           clock_gettime
  0.04    0.002149           3       785           recvfrom
  0.01    0.000776           1       726           sendto
  0.01    0.000458           0       945           sched_yield
  0.00    0.000239           1       223           write
  0.00    0.000157          79         2           getdents
  0.00    0.000040           0       222        52 read
  0.00    0.000039           5         8           times
  0.00    0.000024           0        76           mprotect
  0.00    0.000000           0        63           open
  0.00    0.000000           0        67           close
  0.00    0.000000           0         1           stat
  0.00    0.000000           0        62           fstat
  0.00    0.000000           0        62           mmap
  0.00    0.000000           0        62           munmap
  0.00    0.000000           0         4           dup2
  0.00    0.000000           0         6         6 shutdown
  0.00    0.000000           0         4           setsockopt
  0.00    0.000000           0        13           fcntl

------ ----------- ----------- --------- --------- ----------------
100.00 5.327493 683358 134612 total

92% sys calls are futex() calls, which is no way can be mapped to what app is doing. It’s idle, BTW.

Regards
Timur Akhmadeev
--

From: tanel_at_poderc.com [mailto:tanel_at_poderc.com] On Behalf Of Tanel Poder Sent: Thursday, April 19, 2012 3:33
To: GG
Cc: Timur Akhmadeev; oracle-l_at_freelists.org Subject: Re: Increasing row retrieving speed via net8

The extra futex calls were likely a result of sleeping/waking up more often (some thread synchronization), which was because more roundtrips between the client and server, which was because of the too low buffer size ... so, the excessive futex calls were a result of fetching too many times. Just like latch contention is a result of using the latch too frequently, there's no problem with the latch itself.

Tanel
On Wed, Apr 18, 2012 at 7:35 PM, GG <grzegorzof_at_interia.pl> wrote: W dniu 2012-04-18 11:30, Timur Akhmadeev pisze:

Hi

Why do you think futex calls are your problem? JVM is multi-threaded by default and threads do use different system calls during their life. Doesn't mean your particular Net issue has anything to do with futex calls, which are, as far as I know, ~idle work.



The information transmitted herein is intended only for the person or entity to which it is addressed and may contain confidential, proprietary and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.
--

http://www.freelists.org/webpage/oracle-l Received on Thu Apr 19 2012 - 03:02:36 CDT

Original text of this message