Re: Timing SQL commands in WebObjects/EOF verses SQLPlus

Max Muller <[email protected]>
Newsgroups gmane.comp.web.webobjects.eof
Message-ID <[email protected]>
Hi Gary,
	A lot is going on in addition to just performing the SQL fetch, namely 
snapshotting the results and creating the EOs. However 127 eos should 
not take 17 seconds. If you have OptimizeIt then you can see what 
objects are being created and where all the time is being sucked up. 
Also what version of WO are you using? 5.2 had a number of performance 
enhancements to the EOF architecture. Another option that you can try 
is to convert the fetch to raw rows at see how that effects 
performance. Another bit to watchout for is LONGs in a table, I have 
seen issues where just by having the long in the table fetch time is 
slowed down by an order of 10 to 20.

Regards,
	Max

On Tuesday, January 14, 2003, at 02:43 PM, Gary Pirkola wrote:

> We're trying to get a handle on some database performance issues in a 
> WebObjects/EOF/Oracle application and are seeing some inconsistancies 
> in the times to perform SQL commands depending on from where the 
> queries are issued.
>
> Specifically, we've turned EOAdaptorDebugEnabled on in our application 
> and are seeing logging of SQL commands with associated time stamps as 
> follows:
>
> [2003-01-14 17:19:57 EST] <WorkerThread1>  === Begin Internal 
> Transaction
> [2003-01-14 17:19:57 EST] <WorkerThread1>  evaluateExpression: 
> <com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "SELECT 
> t0.FINISHED, t0.ID_ACTIVE_STAGE, t0.ID_LOCAL_CALL_CHARTCOM, 
> t0.ID_LONG_DISTANCE_CHARTCOM, t0.ID_MRC_CHARTCOM, t0.ID_OCC_CHARTCOM, 
> t0.ID_ORDER, t0.ID_PARENT_TRANSACTION, t0.ID_PREVIOUS_STAGE, 
> t0.ID_SHOPPING_CART, t0.ID_TRANSACTION, t0.MOD_DATE, t0.PARAMETERS, 
> t0.TRANSACTION_TYPE, t0.UNIQNAME FROM OOS_TRANSACTION t0 WHERE 
> t0.ID_SHOPPING_CART = ?" withBindings: 1:4(idShoppingCart)>
> [2003-01-14 17:20:14 EST] <WorkerThread1> 129 row(s) processed
> [2003-01-14 17:20:14 EST] <WorkerThread1>  === Commit Internal 
> Transaction
>
> Since this is one of the queries that is taking longer than we would 
> expect, (17 seconds), we've also run SQLPlus from a terminal command 
> line and submitted the same query directly against the same table in 
> question, (so there's no difference as far as Oracle is concerned we 
> believe)
>
> Using SQLPlus in terminal command mode, this same query:
>
> "SELECT t0.FINISHED, t0.ID_ACTIVE_STAGE, t0.ID_LOCAL_CALL_CHARTCOM, 
> t0.ID_LONG_DISTANCE_CHARTCOM, t0.ID_MRC_CHARTCOM, t0.ID_OCC_CHARTCOM, 
> t0.ID_ORDER, t0.ID_PARENT_TRANSACTION, t0.ID_PREVIOUS_STAGE, 
> t0.ID_SHOPPING_CART, t0.ID_TRANSACTION, t0.MOD_DATE, t0.PARAMETERS, 
> t0.TRANSACTION_TYPE, t0.UNIQNAME FROM OOS_TRANSACTION t0 WHERE 
> t0.ID_SHOPPING_CART = ?" withBindings: 1:4(idShoppingCart)>
>
>  takes about a second ????
>
> Clearly something is happening in WebObjects/EOF  between the "=== 
> Begin Internal Transaction" and the "=== Commit Internal Transaction", 
> that doesn't happen with direct SQLPlus, but we don't have any idea 
> where to start looking to explain the difference (and hopefully to 
> minimize the difference).
>
> Any education/explanation or suggestions about what to look at would 
> be appreciated.
>
> Gary Pirkola and David Snyder (University of Michigan)
>
>
> _______________________________________________
> EOF mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/eof
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.