The first thing that would come to mind -------------------------------------------- Stephen Milligan Code poet for hire http://www.spike.org.uk
Do you cfeclipse? http://cfeclipse.tigris.org >-----Original Message----- >From: Jolly Green Giant >Sent: Wednesday, June 30, 2004 1:16 PM >To: [EMAIL PROTECTED] >Subject: [ cf-dev ] streamlining an MX app > >Guys, > >If a client were to come to you and say that they have a >project for you, and that the job was to "increase the >performance and stability of a Cold Fusion MX application", >what "flags" pop up for you right away? > The first thing I would do is request a copy of the code and a database and run some load tests on it using something like OpenSTA (http://www.opensta.org). >From the load tests find out what pages run slowly/unreliably under low and high load. Drill down with performance timers using getTickCount() to find out exactly where any bottlenecks are. Attempt to change whatever needs to be changed to remove the bottlenecks. Look at web server, ColdFusion and JRun Log files to see if there are any obvious stability issues. Attempt to fix any that are found Re-run load tests after making above changes. See if the performance/stability now falls inside what your client would consider acceptable. If not then rinse, dry and repeat. As part of the above process you may consider the things you suggested. I've put my own thoughts about each of them inline below. >Things like... >... check to see if any queries can be cached? Yep, either using the cfquery caching attributes, or using persistent scope caching. Also check to see if you can add indexes or otherwise modify the database to make it perform better. >... be sure all session variables are locked properly, if appropriate? Maybe, but in CFMX this is very unlikely to cause stability issues. It might cause data integrity issues, in race conditions, but fixing that might be out of the scope of what you are being asked to do. >... decrease use of CFML custom tags where possible to reduce overhead? Probably not. Custom tags don't cause huge overheads in CFMX unless you use them in deeply nested configurations where they are recursively calling each other. In those cases where they do, consider replacing them with CFC methods where all the recursive and nested method calls are to methods in the same CFC. Calls to methods in a separate CFC have a similar overhead to custom tags. >... notice locations of multiple cfset statements where >cfscript would be better? I would definitely not recommend this. In CFMX the cfscript and CFML tags get turned into Java. The java is almost certainly going to be identical or very close to identical in both cases. Using cfscript will generally make it more difficult to debug the application because the exception and error reporting tends to be a bit less clear than when using tags. Other than that, whether you use cfscript or tags is pretty much personal preference IMO. > >Those were a few that came to me right away. But I am >interested in what you all think as well. > Spike -------------------------------------------- Stephen Milligan Code poet for hire http://www.spike.org.uk Do you cfeclipse? http://cfeclipse.tigris.org -- These lists are syncronised with the CFDeveloper forum at http://forum.cfdeveloper.co.uk/ Archive: http://www.mail-archive.com/dev%40lists.cfdeveloper.co.uk/ CFDeveloper Sponsors and contributors:- *Hosting and support provided by CFMXhosting.co.uk* :: *ActivePDF provided by activepdf.com* *Forums provided by fusetalk.com* :: *ProWorkFlow provided by proworkflow.com* *Tutorials provided by helmguru.com* :: *Lists hosted by gradwell.com* To unsubscribe, e-mail: [EMAIL PROTECTED]
