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]

Reply via email to