House of Fusion
Search over 2,500 ColdFusion resources here
  
Home of the ColdFusion Community

Mailing Lists
Home /  Groups /  ColdFusion Talk (CF-Talk)

ColdFusion 7 Enterprise performance compared to Standard

  << Previous Post |  RSS |  Sort Oldest First |  Sort Latest First |  Subscribe to this Group Next >> 
Top  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 01:48 PM

I'm not finding any references to this in the documentation on the differences between Standard and Enterprise (CF7), but was wondering if there are unpublished differences between the two servers. On my local machine, I'm running CF7 Developer edition.  Our production boxes for this application are running CF7 Standard (which they probably shouldn't be).  I have a block of code which takes 67ms to run on my local box (this is while I'm also running hog applications like Firefox and iTunes).  That same code on the production boxes takes 300+ms  (which may not sound like that much, but that code can run multiple times on a single request). I'm trying to figure out why the production boxes (which by specs are a lot beefier than my development box, which is a Dell laptop running XP). Here are some of the things we've considered (but basically ruled out): 1) RAM - the production boxes have the same amount of RAM (2GB) 2) Processors - development has 2Ghz Core2, while production have dual 1.7GHz Quad Cores 3) Traffic - Sadly, this application (which the boxes are devoted to) are very low traffic.  While they do get more traffic than my single IP address box gets, if they get two requests in the same minute, it's a busy day. 4) CF updates - the production boxes were on 7.01 while dev was on 7.02, but I've fixed that and seen no changes 5) JVM version - the production boxes have a JVM that's one "minor version" higher than mine, so that's probably not it. 6) Database access - the code in question doesn't actually hit the database servers (the one query it calls is a cached query). But, even if it did, the production boxes are in the same location as the DB servers, while my box is not, so you'd think that would make the production queries somewhat faster. 7) Code differences -- all of the code being called are exactly the same among the servers. That leaves us with Standard vs. Enterprise (which is essentially what the developer version is), but nothing I've found so far suggests there are those kinds of performance enhancements in Enterprise. What else should I consider, assuming that's not it? -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 02:03 PM

Oh, there are two other significant difference I neglected to mention: 8)  Production runs Windows 2003 while my box is XP Pro 9)  Production runs IIS while my box is Apache (because my box has to handle multiple web sites, and XP can't) -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Jacob
05/27/2008 02:11 PM

Tried disabling antivirus on the production box? A few years ago I had the same problem. It turned out it was some javascript code that A/V for did not like for some reason.  This was with Norton. Canned Norton and went to NOD32... never looked back. I'm not finding any references to this in the documentation on the differences between Standard and Enterprise (CF7), but was wondering if there are unpublished differences between the two servers. On my local machine, I'm running CF7 Developer edition.  Our production boxes for this application are running CF7 Standard (which they probably shouldn't be).  I have a block of code which takes 67ms to run on my local box (this is while I'm also running hog applications like Firefox and iTunes).  That same code on the production boxes takes 300+ms  (which may not sound like that much, but that code can run multiple times on a single request). I'm trying to figure out why the production boxes (which by specs are a lot beefier than my development box, which is a Dell laptop running XP). Here are some of the things we've considered (but basically ruled out): 1) RAM - the production boxes have the same amount of RAM (2GB) 2) Processors - development has 2Ghz Core2, while production have dual 1.7GHz Quad Cores 3) Traffic - Sadly, this application (which the boxes are devoted to) are very low traffic.  While they do get more traffic than my single IP address box gets, if they get two requests in the same minute, it's a busy day. 4) CF updates - the production boxes were on 7.01 while dev was on 7.02, but I've fixed that and seen no changes 5) JVM version - the production boxes have a JVM that's one "minor version" higher than mine, so that's probably not it. 6) Database access - the code in question doesn't actually hit the database servers (the one query it calls is a cached query). But, even if it did, the production boxes are in the same location as the DB servers, while my box is not, so you'd think that would make the production queries somewhat faster. 7) Code differences -- all of the code being called are exactly the same among the servers. That leaves us with Standard vs. Enterprise (which is essentially what the developer version is), but nothing I've found so far suggests there are those kinds of performance enhancements in Enterprise. What else should I consider, assuming that's not it? -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 02:29 PM

It doesn't look like we have A/V running on those boxes (at least as far as I can tell, and we're currently without a sysadmin who could tell me for sure  [we're taking resumes :) ] Thanks, though. ----- Excess quoted text cut - see Original Post for more -----

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Jacob
05/27/2008 02:43 PM

What if you have a template with just the follow: <cfset var = "Hi"> <cfoutput>#var#</cfoutput> Run it on both the development box and the production box.  Do you get the same thing?  The template running slower on the production box? It doesn't look like we have A/V running on those boxes (at least as far as I can tell, and we're currently without a sysadmin who could tell me for sure  [we're taking resumes :) ] Thanks, though. > Tried disabling antivirus on the production box? > > A few years ago I had the same problem. It turned out it was some javascript ----- Excess quoted text cut - see Original Post for more -----

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 03:08 PM

> What if you have a template with just the follow: ----- Excess quoted text cut - see Original Post for more ----- Unfortunately, that code won't really show a significant difference. The line in question calls a CFC method (the CFC is in the application scope, so it's not instantiating it again). That method calls another method inside that same CFC (which calls the cached query).  The only real slow parts of the code are looping over an array (but not really a large one) and, unfortunately, doing an evaluate() on a CF statement from the cached query. But, that evaluate() would be slow on my box, too. -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Dave Watts
05/27/2008 02:37 PM

> I'm not finding any references to this in the documentation > on the differences between Standard and Enterprise (CF7), but > was wondering if there are unpublished differences between > the two servers. To the best of my knowledge, there are no unpublished differences between the two. ----- Excess quoted text cut - see Original Post for more ----- How exactly are you measuring this? Presumably, your production boxes are serving other requests at the same time, right? Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information!

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 02:51 PM

> How exactly are you measuring this? Presumably, your production boxes are > serving other requests at the same time, right? Initially, I was using SeeFusion traces on production and gettickcount() on my box.  But, thinking that might add overhead differences, I went with gettickcount() on both (using conditionals based on my IP address to make sure real users don't see it).  As far as other requests -- not really. Like I said, it's very low traffic, and if there's more than one request within a single minute, it's a busy day (that gets into questions about the business spending my time working on this low-traffic site, but that's a whole other issue -- the funny thing is this is a load balanced application [and, yes, both boxes show the same time differentials]).  So, the odds of requests hitting the box at the same time and affecting performance seem pretty remote. Oh, we just discovered that we actually bought Enterprise licenses for these boxes, but they're CF8 licenses. It looks like we were told the licenses were "backwards compatible" but CF7 won't take the serial number we were given -- which may be why our (former) sysadmin installed Standard that had been used by older boxes.  We may just have to upgrade those boxes to CF8 [it's not like any users would notice any hiccups]. Scott -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Jacob
05/27/2008 03:00 PM

Have you tried using debugging in CF Administrator to get the execution times?  I assumed that was what you were using. > How exactly are you measuring this? Presumably, your production boxes are > serving other requests at the same time, right? Initially, I was using SeeFusion traces on production and gettickcount() on my box.  But, thinking that might add overhead differences, I went with gettickcount() on both (using conditionals based on my IP address to make sure real users don't see it).  As far as other requests -- not really. Like I said, it's very low traffic, and if there's more than one request within a single minute, it's a busy day (that gets into questions about the business spending my time working on this low-traffic site, but that's a whole other issue -- the funny thing is this is a load balanced application [and, yes, both boxes show the same time differentials]).  So, the odds of requests hitting the box at the same time and affecting performance seem pretty remote. Oh, we just discovered that we actually bought Enterprise licenses for these boxes, but they're CF8 licenses. It looks like we were told the licenses were "backwards compatible" but CF7 won't take the serial number we were given -- which may be why our (former) sysadmin installed Standard that had been used by older boxes.  We may just have to upgrade those boxes to CF8 [it's not like any users would notice any hiccups]. Scott -- ----------------------------------------- Scott Brady http://www.scottbrady.net/

Top  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Dave Watts
05/27/2008 03:54 PM

----- Excess quoted text cut - see Original Post for more ----- Are you testing this through the load balancer, or are you bypassing the load balancer and hitting your server directly? Not that that should make a difference to your getTickCount calls, but load balancers can cause odd problems. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ Fig Leaf Software provides the highest caliber vendor-authorized instruction at our training centers in Washington DC, Atlanta, Chicago, Baltimore, Northern Virginia, or on-site at your location. Visit http://training.figleaf.com/ for more information!

Top  |   Parent  |   Reply  |   Original Post  |   RSS Feed  |   Subscribe to this Group
Author:
Scott Brady
05/27/2008 04:10 PM

> Are you testing this through the load balancer, or are you bypassing the > load balancer and hitting your server directly? Not that that should make a > difference to your getTickCount calls, but load balancers can cause odd > problems. I'm bypassing the load balancer (using my hosts file to have the domain go straight to the box instead of the load balancer) -- ----------------------------------------- Scott Brady http://www.scottbrady.net/


<< Previous Thread Today's Threads Next Thread >>

Search cf-talk

May 24, 2012

<<   <   Today   >   >>
Su Mo Tu We Th Fr Sa
     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     

Designer, Developer and mobile workflow conference