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

Reply via email to