Copy link to clipboard
Copied
Hello all.
As of about 3 months ago I got CF9 64-bit running successfully on a Windows 2008 R2 64-bit server, as well as 64-bit PHP.
It was a long couple of days getting all of this to work happily together, but that's an entirely different discussion, which I'm happy to assist with if anyone need some help.
My question is for someone with some experience and understanding of the relationship between IIS 7, Cold Fusion and App Pools.
We have 8GB of RAM on a 3.2GHz dual processor box. And on this particular server we have about 350 cold fusion websites. All very low traffic sites, I should add. Like maybe averaging 1000 page clicks a day each. Anyway these sites were running flawlessly on a 2GB of RAM box with dual 1 GHz processors. And honestly it ran more reliably than it does now.
What role do Application Pools play in a dedicated Cold Fusion environment?
Since only one instance of JRun is ever initiated, CF crashes when any request overwhelms the box and locks it up. So, kind of defeats the purpose of independent App Pools in my opinion.
During my setup and transfer of these site, I gave them each their own independent App Pool, which are now individual IIS Worker Process instances, each using about 10MB of RAM. So, for example, if interaction is happening with 200 websites they eat up 2GB of RAM, which, although not great, is fine right now. The problem is that I plan to let this machine grow to 500 sites before adding another box, but I'm concerned about performance.
THE BASIC QUESTIONS:
Does cold fusion need independent App Pools for each web site or can all of these websites run under the DefaultAppPool?
And what are the pros and cons of both options?
Is there some default setting I should change that will tell active w3wp.exe instances to shutdown if no activity occurs for a certain period of time to free up memory.
Thanks for any input.
Rush, to your bottom line questions:
Does cold fusion need independent App Pools for each web site or can
all of these websites run under the DefaultAppPool?
No, it doesn't "need" them. They can all run under one pool. It's probably better to split them up in some way, so that if something does go wrong in one app pool, at least those in the other app pool still run.
And what are the pros and cons of both options?
As you note, each app pool uses a little memory. Not much, but as you note, at 200+ i
...Copy link to clipboard
Copied
Rush, to your bottom line questions:
Does cold fusion need independent App Pools for each web site or can
all of these websites run under the DefaultAppPool?
No, it doesn't "need" them. They can all run under one pool. It's probably better to split them up in some way, so that if something does go wrong in one app pool, at least those in the other app pool still run.
And what are the pros and cons of both options?
As you note, each app pool uses a little memory. Not much, but as you note, at 200+ it adds up. FWIW, the app pool is also part of the connection between IIS and CF, and there are times when simply recycling an app pool (rather than restarting CF) can solve a problem.
That said, there are certainly times when CF will be what's unresponsive, and it won't matter how many app pools you have. That is really what you want to focus on: why (if ever) does CF become unresponsive.
Is there some default setting I should change that will tell active
w3wp.exe instances to shutdown if no activity occurs for a certain
period of time to free up memory.
This is default behavior for app pools. See the "advanced settings" for each pool in IIS 7 (or the properties for it in IIS 6) for various recycling and health protection settings.
Going back to your root cause problem (CF becoming unresponsive), you say "Anyway these sites were running flawlessly on a 2GB of RAM box with dual 1 GHz processors. And honestly it ran more reliably than it does now." So what was "before"? Not just less memory, I assume. Was it also 32bit instead? Was it an earlier release of CF? It may help for you to be more specific.
Again, whatever is amiss has an explanation. It sounds like you're running the Server mode of CF (not multiserver), so what do you find in the coldfusion9\runtime\logs (not the coldfusion9\logs)? There may be important info prior to your crashes that explains what's up.
As fore your struggles getting CF running on IIS 7, I'm curious: was this on 9.0? If so, it was not until 9.0.1 (the free updater, which must be installed even over a download of CF9 today) which offered support for IIS 7. Prior to that, it was indeed a fair bit of manual effort to get it working. And in fact, it may be that an update for you to 9.0.1 might help sort out some problems if your manual config efforts might have gone at all amiss.
Hope some of that's helpful.
/charlie arehart
charlie@carehart.org
Providing fast, remote, on-demand troubleshooting services for CF (and CFBuilder)
More at http://www.carehart.org/consulting
Copy link to clipboard
Copied
Hello Charlie.
Awesome responses and thank you so much for being so thorough in your responses. It's refreshing in regards to some other forums.
Anyway, that was as I suspected with the app pools, but before merging them I wanted to see if anyone could confirm my suspicions.
I checked the logs and twice now today I've had to restart CF because it locked up. Both times it seemed to be memory related because requested just show as timing out in both the runtime and cf logs.
Regarding the previous server, it was 32-bit, MX7.x. But in IIS5 they didn't have "Application Pools". Everything was under the Default Application name, but I don't believe it's the same thing.
This was the major difference that I thought might be causing my problems. When I restarted CF a couple of hours ago, the RAM was at 7.56GB, because once you add up JRun (700K), 4 svchost.exe's (totalling 500K) and IIS (at 200K), plus a bunch of misc Windows and HP stuff, there's not a whole lot left for processing anything. So, getting rid of all those w3wp.exe's will probably help a lot. I should note that the CPUs were hardly even being touched at that time. They were jumping around between 20 and 40%.
And yes, this one was a manual install. So I'm still running 9,0,0,251028. I'll check on the update, thanks.
And thanks again for the response.