Does anyone have a sense of resource consumption b...
# cfml-general
d
Does anyone have a sense of resource consumption by CF 2021 vs (gasp) CF 9, memory and cpu? We're about to build out a new server, trying to ballpark how they should build it.
r
Myself, I'd build it identically resource wise so I can see how my app responds with only the version changing. Then tune from there
Are these dedicated servers, expensive and timeconsuming to build?
d
Virtual. no money, some work for our sysadmins.
r
In that case I'd do the same config if its been working well. The newer versions, and new JVM change the way the garbage collector works. So the needed memory footprint can be different. But its really hard to say. The profile of your app will be more important than the change between versions
d
Understood. People are just asking me where to start.
r
The new garbage collectors are supposed to lessen stop-the-world collections, and thus theoretically need less memory to achieve the same throughput. But I never bothered to test
d
Anybody else?
p
16gb min and 4-core depending on your app's usage and as Rory said, garbage collection should do its job but you should be stable with a basic app, and a Linux OS with those specs.
d
Windows Data Center server.
What would be most helpful is to understand the differences in resource consumption between CF 9 and 2021. CF 9 server is stable under the usage it gets, need to spec a new 2021 server to run the same app.
m
Have you done a PMCLI test to see what packages you can keep out of the install? The biggest architectural difference between CF2021 and previous versions is that you can choose to not load packages that are not required by your code. The Package Manager CLI allows you to scan your code to get that list of required packages and then you can just install those, which will save you memory.
From a speed/performance standpoint, CF2021 is functionally identical to 2018, which was something like 30% faster than 2016. Running that backwards all the way to CF9 is a bit of a mind twister though, and things getting muddled with all the other changes (Tomcat, JDK etc)
d
Thanks @Mark Takata (Adobe). No, server's not built out yet. I'm asking because people want to estimate the specs for it. But I'll definitely do that when there's a server to run it on :)
1
a
@Dave Merrill it might be an idea to frame the question (in a different environment) as the perf differences between the version of Tomcat that CF9 uses cf the version CF2021 uses. That will be where the differences are. Not at the CF level. I know you are having trouble getting a straight answer to the question you actually asked, and this might seem like more of that. But if you ask the Tomcat community instead, you'll have a larger pool of more clued-up ppl than you will in the CFML community (and this specific segment of it, too). And it will be answering the underlying question you are asking. I'd also similarly research the equivalent differences in JVM versions. That will be informative.
I doubt the CF part of the equation will be a significant factor in this, cf Tomcat and JVM.
d
I'll put in my two cents here, if you have Fusion Reactor running, you might want to get the stats from the CF9 version. Their stats are really very good and should give you a good handle on how things are running. You can then run it (even if you have a developer license) on the new system and use that to compare. Also, CF9 was the last version to use JRun which was at times a memory hog. As @Patrick said, 16mb to start off with is a good place. Also as @Mark Takata (Adobe) has said, with the ability to remove packages that are not being use, you can make the best situation with less. This is of course my humble opinion.
d
Thanks for your thoughts @Adam Cameron and @drewnathanson. Yes we have FR on the CF9 boxes. New boxes aren't built yet, I'm asking about this because dev ops people want to know how to spec them. Interesting idea about pinging the Tomcat community, but I'm not sure I have the cycles to open up lines of communication there. Ditto the wider JVM community. Will investigate if I can.