Steven Erat's Blog Steven Erat Photography
 
 
Viewing By Entry
 
 

TalkingTree  ColdFusion 9.01 Server Monitoring Enhancements

 

I began this thought as a comment to Adobe CF QA engineer Sagar Ganatra's blog entry describing the new Server Monitor enhancements in ColdFusion 9.01 updater, however, as it grew lengthy I decided my own blog post would be a more appropriate venue.


I'll add that the main reason for why one would want to run the ColdFusion Server Monitor on its own port via the Jetty implementation is that until now requests from the Server Monitor would go through the JRPP request pool, thereby adding additional traffic to the JRun active request pool, but more importantly if the JRun active request pool was queuing then the data refreshes in the Server Monitor would also queue and the Server Monitor may appear to hang as well. By establishing a separate request pool and port for Server Monitor requests in ColdFusion 9.01, the Server Monitor will not encounter a blocking situation as it would do previously.

Any general discussion of the Server Monitor should include the caveat that the use of Profiling, Monitoring, and Memory Tracking are not intended for production use (blanket statement: see comments for more on that). Moreover, if Memory Tracking is enabled in production, perhaps to help diagnose a prod performance problem, that it will only further decrease server performance. On 3 occasions in the last year alone I've helped ColdFusion shops that shot themselves in the foot by doing this. The impact to performance was substantially worse when enabled, and having them disable it immediately alleviated most of the problems, albeit not the problem that initially prompted them to enable the tracking.

Nice enhancements to Server Monitor in the future might include:

  • Persistant Metrics: The ability to persist the Server Monitor data to a database. A restart of CF will clear data as of now. A use case would be for load testing scenarios where the a a variety of metrics need to be quantitatively analyzed, which cannot presently done easily. Ideally, you'd want to know performance metrics at different points into a load test such as during the ramp up, after X minute intervals, and during cool down.

    A second use case would be the ability to produce reports to monitor server health over time, perhaps by providing the ability to generate weekly reports of key data, possibly with green and red arrow indicator to visually identify metrics that have improved or worsened.

  • CF Request Pool Ratios: Add the ability to analyze incoming requests to determine the real time ratio of CF request types such as CF Templates, CFCs, Flash Remoting, and Web Services. When expressed as a percentage, it could used to correctly determine the values to use in the Request Tuning part of the ColdFusion Administrator. Throughout much of my experience I have found that CF shops rarely set the Request Tuning values to an appropriate range, either letting them remain unchanged at the default, or increasing them way out of range (into the hundreds even).
  • Request Tuning Calculator: Provide a real suggested starting point for all Request tuning parameters including the JRun active and queued sizes based on the number of CPUs/cores and processing speeds. Presently, even in CF 901, a server will install with a default set of values that will the same on a small box as it would on a beefy production box. To do this correctly, the total number of instances used to process production load would also have to be incorporated for proper per-instance tuning. Having a Server Monitor Request Tuning Calculator would be a big plus towards helping server admins find the right starting range for their particular hardware.
  • Out of Process Memory Tracking: Since Memory Tracking is known to consume significant resources while tracking (a Heisenberg conundrum?), perhaps Memory Tracking could be done out of process over RMI or similar, akin to the JRockit Mission Control memory analyzer (which I've used for ColdFusion, but interpreting the data is not very intuitive).

 


Comments

Hi Steven -

I was under the impression (mostly from research done by Charlie Arehart) that enabling Profiling and Monitoring in production was OK, and that you only took a real hit when you enabled Memory Tracking. Is this no longer the case?

brian


I may have generalized in the description. Yes, Charlie has reported that Profiling and Monitoring do not impact performance to any significant proportion, and that Memory Tracking does. I lumped together here though because Adobe doesn't offer any documentation on the subject of which to use in production or which not to use (AFAIK). Lacking specific documentation on the topic, its better to generalize by saying don't turn any on in production (unless you're already familiar with using Server Monitor). I say this because for those shops where I've diagnosed this problem, the reply was consistently that a) they didn't know that memory tracking impacts performance, and b) they didn't have much experience using Server Monitor except as a last ditch effort to understand their exisiting problem.


Good enhancements Steve - make sure you log em :)


I emailed the engineering team my suggestions, after a conversation with them. I understood they would enter enhancements as needed, so I didn't enter them in bug tracker. I probably should though, even if they close it as a dup.


Hi guys, yeah, I was a bit surprised to read Steven's statement that none of the 3 mechanisms (start monitoring, profiling *OR* memory monitoring) were "intended for production use". That seemed quite an assertion! :-)

And of course, since he was with Adobe when CF8 (and 9?) came out, and certainly has direct connections to insiders, we are inclined to want to regard that you are speaking authoritatively, Steven. Are you sure that Adobe folks would say that (those are not intended for production)?

I'd think if they felt that, then we would have seen that addressed in the update. Instead, we got primarily the new internal web server, which will have its value I'm sure.

Something not mentioned by many is (for me) as important, and to the very point about these "Start" buttons. You can now turn them on/off (and see their status) from inside the CF Admin. That's huge.

But I agree on the ideas Steven has raised. I have some more and should blog them one day. Related to all this, I have recently started tweeting at @cf911, and I plan to build out a new resource at CF911.com. CF Server troubleshooting is my area of focus now, and Steven has always been a tremendous resource for those of us in that space!


Thanks for filling in the details Charlie. To restate the comment I made earlier, I was making a blanket statement when I said that none of the 3 are intended for production, and I did that because I often found people weren't able to remember which were ok for production and which was not, and many didn't know that memory tracking was bad for production.

I know that Adobe knows that memory tracking is a resource hog that will slow production. And I know that Adobe doesn't document that memory tracking shouldn't be used in production, and therefore I state what might be the converse of that, that Adobe doesn't document which should be used in production or which should not. I do use Profiling and Monitoring in production on some occasions in a sparingly manner, but never Memory Tracking.

I apologize for being unclear in the original post. Rather than do a strike through, I'll just defer to the comments here.


Sure, and to be clear, I was in agreement on memory tracking. I wasn't as clear about that in my own comment. That said, I'll say that I have worked with some folks who had it enabled and it really wasn't hurting.

My observation is that it just depends on how much stuff is in memory (as active objects), and more importantly, how complex they are. I can imagine that if there are complex nested objects (CFCs with structs, arrays, query objects as properties, etc.) then it could be expensive for CF to trace through those to find their size, etc. Some production apps just aren't that complex.

As is so often the case, I'd say "it depends". But still, I can understand leaning toward always discouraging it. And while I get your logic in just dismissing all three, I'm just not quite ready to do that.

Even so, we should point out as well that indeed even if one DOES disable all three buttons, there can still be value in the Server Monitor, as several of the pages don't require any of them to be enabled. Many miss that. (I blogged about this back in 2007 at http://www.carehart.org/blog/client/index.cfm/2007...)

One other follow up, about your hope for persistence of the monitoring data, I will note that the next release of FusionReactor (FR 4) will include a mechanism to extract Server Monitor data to save along with its own logs, and both those will then be importable into the new FusionAnalytics. More on these will be shared at CFUnited (and more on the latter at http://www.fusion-analytics.com/).


Great but how the CF cleared data are stored?


 

 

Calendar

 
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Search This Site

 
This is an exact search only

topics

 
adobe blogging coldfusion computer technology events flex java learning linux mac os x macromedia meetup new england odds & ends outdoors personal photos photoshop science travel video

About This Site

 
Adobe Alumni & Community Professional. Expert in ColdFusion, Flex, LCDS, Photoshop, Lightroom. Linux RHCE. Follow Me!. For my photography check out Boston Portrait Photographer.

Speaker at CF.Objective(): Automated UI Testing with CFSelenium, MXUnit, ANT, and JenkinsCI

Adobe Community Professional (ACP)
Red Hat Linux Certified Engineer

Recent Entries

 
Automated System Testing for ..
Could not find ColdFusion com..
No April Fools: Selenium Ship..

Recent Comments

 
Posted By Steven Erat:
Jim, and anyone else that may attend, if you would like the full slide deck and my demo project files BEFORE the conference, please reply as a comment ...

Posted By Jim Priest:
Can't wait for this one!!

Posted By iPhone Repair:
It appears there are so many people have issue with their iPhone & iPod Touch screens dropped and cracked. It happened to me also when u haven't got a ...

recently played

 
Mr. Brightside
by The Killers
on Hot Fuss
Get Hot Fuss by The Killers on Amazon

now playing, a plug-in for itunes

Categories

 
RSS Adobe (34)
RSS Bicycling (9)
RSS Blogging (39)
RSS Books (13)
RSS Breeze (13)
RSS CFMX Podcasts (10)
RSS ColdFusion (437)
RSS Computer Technology (51)
RSS Events (26)
RSS Flex (20)
RSS Gadgets (11)
RSS HiTech Industry (16)
RSS Java (26)
RSS Learning (57)
RSS Linux (70)
RSS Mac OS X (23)
RSS Macromedia (27)
RSS Meetup (35)
RSS New England (62)
RSS Odds & Ends (25)
RSS Outdoors (32)
RSS Personal (29)
RSS Photos (111)
RSS Photoshop (29)
RSS Podcasts (18)
RSS Rants (19)
RSS Restaurants (8)
RSS Science (34)
RSS Spain (16)
RSS Travel (42)
RSS Twitter (10)
RSS Video (20)
RSS Webcam (3)
RSS Writing (10)

RSS

 


Add to Google
Add to My Yahoo!

Credits and Stuff

 
BlogCFC - Free ColdFusion Powered Blog Software


 
 
blog | photos | flickr | referers | webcam | stats | about | contact
 
Copyright © 2012 Steven Erat. All rights reserved.
This is a personal weblog. The opinions expressed here represent my own and not those of my employer