RE: Untested Developer Code - lack of concurrency testing
Date: Tue, 12 May 2009 11:21:15 -0400
Message-ID: <6AFC12B9BFCDEA45B7274C534738067F171A24CD_at_AAPQMAILBX02V.proque.st>
Poorly designed locking strategies...stuff that leads to enqueue waits and potentially deadlocks, will only be seen when running under concurrent load.
Similar to your NL join hammering root node of an index, is a case where you have query that does FTS on a table that's small enough that no one notices, and performance is acceptable with one user. Under concurrent load, performance tanks due to buffer busy waits. (One session is reading block, others all queue up behind it when the read is happening.)
I'll see if I can think of others....
-Mark
-----Original Message-----
From: kyle Hailey [mailto:kylelf_at_gmail.com]
Sent: Tuesday, May 12, 2009 11:12 AM
To: oracle-l_at_freelists.org
Subject: Untested Developer Code - lack of concurrency testing
with one user and it runs fine and then gets put into production and
only to hit a huge performance snafu. I'm putting together a demo on this kind of situation and was
thinking of some examples. One example that came to mind is a Nesedt
Loops join that hammers the root node of an index. Might work fine for
one user, but when multiple users start running it, the query runs
into cache buffers chains latch issues with the high concurrency
access to the index's root block which might be resolved by doing a
hash join or moving the lookup table to a hash cluster for example. Wondering if anyone else had good examples of developer code that
worked fine with one user and broke in the multi user production
environment.
X-archive-position: 17586
X-ecartis-version: Ecartis v1.0.0
Sender: oracle-l-bounce_at_freelists.org
Errors-to: oracle-l-bounce_at_freelists.org
X-original-sender: kylelf_at_gmail.com
Precedence: normal
Reply-to: kylelf_at_gmail.com
List-help: <mailto:ecartis_at_freelists.org?Subject=help> List-unsubscribe: <oracle-l-request_at_freelists.org?Subject=unsubscribe> List-software: Ecartis version 1.0.0 List-Id: oracle-l <oracle-l.freelists.org>X-List-ID: oracle-l <oracle-l.freelists.org>
List-subscribe: <oracle-l-request_at_freelists.org?Subject=subscribe> List-owner: <mailto:steve.adams_at_ixora.com.au> List-post: <mailto:oracle-l_at_freelists.org> List-archive: <http://www.freelists.org/archives/oracle-l>X-list: oracle-l
Best
Kyle Hailey
http://oraclemonitor.com/
--
http://www.freelists.org/webpage/oracle-l
--
http://www.freelists.org/webpage/oracle-l
Received on Tue May 12 2009 - 10:21:15 CDT