This sounds like a possible queueing (i.e., load-induced) issue. Queueing issues show up as "application works fine sometimes, but really slow other times." The impetus for the really slow behavior is when you increase concurrent load on the resource in question (here, the net) just enough that response times begin to degrade exponentially instead of linearly. It's where you're going "up" faster than you're going "out" on that hockey-stick-shaped performance curve. (Sorry I can't show pictures here in text; they'll all be in the book due out in about June.)
If this is the problem, it's not your network administrator's fault, it's your application's fault. Response problems are caused by either or both of only two things: excessive call LATENCY, or excessive call COUNT. Many analysts focus exclusively on latency, never understanding that it's the call COUNT that's the real problem. Excessive call counts within individual application programs, when combined with high user concurrency, produce loads that drive response times into the exponential degradation behavior. Count the number of relevant SQL*Net events in your raw SQL trace data, and get an idea of which cursor most of these events are associated with. For the SQL associated with that cursor, check its tkprof output for unnecessarily high db call counts (or use the Hotsos Profiler and do it in one step). For example, if your app parses every time it executes, it's putting more load than necessary on the network: take your parse calls out of your loops. If it executes once for every row that inserted, updated, or deleted, then it's putting more load than necessary on the network: use array inserts. If it fetches once for ever row that's selected, then it's putting more load than necessary on the network: use array fetching. You don't have to make your application perfect if this is your problem; you only have to reduce unnecessary load enough that your total workload remains left of that knee in the performance curve. You can often eliminate thousands of db calls (and hence network round-trips) by focusing your effort upon just a handful of SQL statements that are executed with the highest levels of concurrency. Cary Millsap Hotsos Enterprises, Ltd. http://www.hotsos.com Upcoming events: - Hotsos Clinic, Dec 9-11 Honolulu - 2003 Hotsos Symposium on OracleR System Performance, Feb 9-12 Dallas - Jonathan Lewis' Optimising Oracle, Nov 19-21 Dallas -----Original Message----- Lee Sent: Wednesday, October 30, 2002 9:15 AM To: Multiple recipients of list ORACLE-L For what it's worth, we had the same thing going on here recently and have not resolved it. In our case, it is a visual basic app running what is essentially a batch job (don't ask me why a batch job was written as a VB app; I just work here). The client is a PC, and the database is on Tru64 (again ... I just work here). Three different PC's were tried. It appears that the tcp_nodelay parameter worked on two of them but not the third (which, as you might guess, is the production box and the one on which it NEEDS to run faster ... Of course!). All the PC's are on the same subnet, going through same routers to get to the same database. If you get the problem resolved, I will be most interested in your solution. Thus far, we have only been able to attribute it either to sunspots or something about the W2K OS on the PC ... both of which, as we all know, are responsible for a lot of unexplained behavior. -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Stephen Lee INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Cary Millsap INET: [EMAIL PROTECTED] Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).