Well it might sound obvious, but you don't want to store a lot of data in a session scope. Ideally, the query should return the resultset and it should go into the request or variables scope, and be released after the request ends. If you are retrieving a large amount of information, you might want to ask yourself if all the information is needed at a time, or if some sort of pagination strategy is necessary.
Russ > -----Original Message----- > From: Matthew Williams [mailto:[EMAIL PROTECTED] > Sent: Tuesday, January 23, 2007 11:26 PM > To: CF-Talk > Subject: Memory issues in a shared environemt > > So, my environment stands as such: > > 7 servers, 7 clusters, and 17 CF instances. Half have been migrated to > CF7, the other half are on CF6 (destined to be migrated shortly). The > clusters all use J2EE sessions for failover. > > I'm having issues in one of the CF7 clusters. Due to limitations with our > networking setup (no multicast allowed across subnets), I've been limited > to just one clustered instance of CF for 50+ applications. This is being > addressed tomorrow (yay!), but it's been delayed due to issues with > policy, rules, etc. > > I've finally gotten licenses and permission to install FusionReactor, and > I put it in place on all servers this past weekend. I also took the > liberty of installing the JDBC wrapper provided by FusionReactor to get a > better idea of what our... uh, "intensive" apps are doing. I noticed a > HUGE spike in memory usage today, and when I checked, one of our apps had > taken 40 seconds to complete its request, of which 21 seconds were > strictly database related, and used several hundred megs of memory. The > result set returned was over 100k records. I'm not sure if this got > loaded into a shared memory scope, but it might explain why session > replication is failing constantly. > > So, does anyone have a "Best Practice" for the amount of results that > should be returned into a shared environment? I'm thinking at this point > that there is very little need to work with more than 1000 records at a > given time (at least within ColdFusion... if data manipulation is > required, that's why stored procedures and functions exist in Oracle). > Now, with the datasource wrapper within the FusionReactor JDBC calls, I > CAN limit the amount of information received by ColdFusion. I just need > to get another set of eyes on this before I present it as a policy change. > > Matthew Williams > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Upgrade to Adobe ColdFusion MX7 Experience Flex 2 & MX7 integration & create powerful cross-platform RIAs http:http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:267432 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4