Memory management during load testing

2013-03-07 Thread Nick Gleason

Hi folks,
We're doing some load testing on our application - particularly focused on 
a registration process.
We're monitoring the test with a number of tools, including FusionReactor.  
As the test progresses, it's pretty easy to see the Memory Used statistic 
climbing.  That's expected but we'd obviously like this to be as low impact 
on the memory used as possible.  So, I'd like to have a better 
understanding of what exactly constitutes memory usage (as measured by 
FusionReactor) and what, if anything, can we do to make it more efficient.  

I assume that a large query will grab a lot of memory.  But, are there 
other drivers?  Any insights into exactly what is in there and how to limit 
it appropriately to keep memory allocation down during high load periods.
Thanks in advance!
Nick

 


~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354889
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm


Re: Memory management during load testing

2013-03-07 Thread Dave Watts

 We're doing some load testing on our application - particularly focused on
 a registration process.
 We're monitoring the test with a number of tools, including FusionReactor.
 As the test progresses, it's pretty easy to see the Memory Used statistic
 climbing.  That's expected but we'd obviously like this to be as low impact
 on the memory used as possible.  So, I'd like to have a better
 understanding of what exactly constitutes memory usage (as measured by
 FusionReactor) and what, if anything, can we do to make it more efficient.

 I assume that a large query will grab a lot of memory.  But, are there
 other drivers?  Any insights into exactly what is in there and how to limit
 it appropriately to keep memory allocation down during high load periods.

Why do you want to keep memory allocation down? That's the point of
having memory - so your applications can use it! You shouldn't have to
worry about it unless you're using more than you have. And, ideally,
you should be on a 64-bit system so that you can more effectively use
the memory you have. (effectively in most cases, of course, not all)

Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
http://training.figleaf.com/

Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on
GSA Schedule, and provides the highest caliber vendor-authorized
instruction at our training centers, online, or onsite.

~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354892
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm


Re: Memory management during load testing

2013-03-07 Thread Nick Gleason

Hi Dave,
Yes, we are on 64 bit with CF9 and a pretty good amount of memory allocated 
to the jvm (I'd have to check to find out exactly how much).
As our load test progresses, the memory used stat in FusionReactor got as 
high as 75% for a little while.  CF / Garbage collection seems pretty good 
about reducing it, but the concern is that it goes higher (90%+) and then 
we get a real slow down in performance, requests pile up, etc.
FusionReactor does a good job of breaking down memory used into different 
types so that is something that we need to look at more closely.
But, in general and for this test in particular, we are trying to make sure 
that we aren't overloading memory unnecessarily.
Nick

 


~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354893
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm


Re: Memory management during load testing

2013-03-07 Thread Byron Mann

Sounds like you are on the right track by using FusionReactor.

Somewhat refreshing to see someone this concerned with memory usage in the
age of affordable hardware. If everyone was like this our shared CF servers
would probably be much happier.

My example, we had a template that just did a port scan and we put it in
our billing app for simplicity sake. At first there were only about 10 cron
jobs hitting it per minute, but then got to about 500. We continually had
issues with memory and slow down in the cluster. So we started looking at
the server monitoring and eventually figured out the number of sessions
spawning from that template was the issue.

We didn't account for the fact we have a fairly good size default session
in the billing app, coupled with the session timeout being 4 hours. Over
time it caused the issue. So we put the file in it's own sessionless app,
and a week of misery was gone.

Byron Mann
Lead Engineer  Architect
HostMySite.com


~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354899
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm