Re: Increasing row retrieving speed via net8

From: GG <grzegorzof_at_interia.pl>
Date: Fri, 13 Apr 2012 18:02:21 +0200
Message-ID: <4F884E0D.9000904_at_interia.pl>



Making long story short .
After quick talk with OS Admin I got root access :) and first try was (well second because first I was typing rm -rf / too scary him :) :

strace -p _pid_of_pmdtm_binary -f -c

-f is a must because pmdtm makes like 19 threads and they do actual work I saw something like this

time spent 80% -> futex!!

                     10% poll
                         5 % read
                         5% other stuff .


so only 5% of work time socket was read and most of the time threads was fighting each other in
somekind of concurency issue :) or feature .

So that explains why messing with sdu , socket buffers, tcp stack buffers and so on gave only minor changes in rows fetched per sec from that tool .

Comparing that to sqlplus , strace gives something like that:

time spent syscall
99% read
1 % write

Funny thing is You have to find 'sweet spot' when setting above net stack / net8 related parameters,
its not about simply increasing them :). You can observe how things are going with strace on sqlplus and checking read syscall arguments , and
how they are changing when You messing for example with sdu size . Tcpdump is quite useful and snapper of coz as we are DBAs . Just remember with 1500 MTU You cant do much , I think jumbo frames and/or GBit interface is the way to go
if cant afford You can do parallelizm via opening many connections and aggregate them in 'smart' way .
Thanks for all comments, now its time for Informatica vendor response :).

Regards
GregG

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Apr 13 2012 - 11:02:21 CDT

Original text of this message