Thanks. I guess the developer in me isn't quite comfortable with so much temporary object creation and destruction. CFMX pools db connections and threads; why not pool query objects, instead of instantiating new ones on each request?
Looks like the JRE creates and destroys new query objects for every single request that touches queries, creating lots of memory garbage. Easy to show this by performing queries and printing free allocated mem after each. I would think that a more efficient method would be to have a query object pool that gets allocated once and used by threads on demand (you'd have to bound query result size). That way you could reuse the same query objects and take pressure off the GC. Surely your application doesn't really need to temporarily allocate and free 600MB of memory every 30 seconds? Or is this object-creation-happy use of memory cleaned up by the GC actually more efficient than reuse would? The current usage of memory just seems wrong to me. >Yes this is normal. Our busy SPARC server has a 2.5 GB JVM and frees >over 600MB when it does a GC. It does this at roughly 30 second >intervals or so, like your figures show. > >On 6/6/07, Terry Ford <[EMAIL PROTECTED]> wrote: > > >-- >mxAjax / CFAjax docs and other useful articles: >http://www.bifrost.com.au/blog/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJP Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:280200 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4