SlideShare una empresa de Scribd logo
1 de 32
ColdFusion is 
Racecar Fast! 
(Or, ColdFusion Performance Best Practices) 
The Adobe ColdFusion Summit 2014 - Las Vegas
We are Webapper 
● Co-founded in 2001 by two former members 
of Allaire Consulting Services 
● Speakers today: 
o Mike Brunt: Co-Founder, Director of Performance 
Engineering Services 
o Rex Aglibot: Senior Performance Engineer 
o Patrick Quinn: Co-Founder, CTO
3 Things
One more thing... 
+ =
Webapper on the Web 
www.webapper.com 
www.seefusion.com 
www.coldfusionsupport.net
Oh, that...
SeeFusion 5!
‘Splain the session title, please? 
● Indy 500 
o World’s largest auto race 
o We’ve been tuning it in traditional hosting 
environment for 5 years 
● New hosting infrastructure and site migration 
in 1 week! (~8 individual domains) 
● Adobe case study: http://adobe.ly/1r9hULg 
● And, well, ColdFusion is fast!
Results 
● 50 r/s X 8 servers (max) 
● AWS Auto-scaling 
● Zero bottlenecks (literally) 
● Zero slowdowns 
● Active/passive data tier (SQL Server)
The Webapper Way 
● How to tune/troubleshoot a ColdFusion 
server 
o Empirical 
o ~ 5 different data sets (logs, memory/thread 
profiling, monitoring tools) 
● PASS 
● How to prioritize “TNT” problems
Today 
● Good general settings for ColdFusion 
o Memory and thread settings 
o The ColdFusion connector! 
● Live load 
● Q&A
The Performance and Stability Stack
PASS Priorities
“The Engine Room” 
The Java Virtual Machine = the real meaning 
behind the phrase “ColdFusion is Java.”
Great Default JVM Settings - 64 bit 
-server -Xms6144m -Xmx6144m -XX:+PrintGCDetails - 
XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -verbose:gc - 
Xloggc:webapperGC219.log -XX:NewRatio=4 -XX:SurvivorRatio=8 - 
XX:+UseCompressedOops -Xss256k -XX:+CMSClassUnloadingEnabled - - 
XX:+UseParNewGC -XX:+DisableExplicitGC - 
XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSScavengeBeforeRemark - 
XX:CMSInitiatingOccupancyFraction=68 - 
XX:CMSFullGCsBeforeCompaction=1 Dsun.io.useCanonCaches=false - 
XX:MaxPermSize=640m -XX:PermSize=640m -XX:+UseConcMarkSweepGC
Wait, what? JVM Settings Explained 
-server 
-Xms6144m -Xmx6144m 
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC - 
verbose:gc -Xloggc:webapperGC219.log
JVM Settings Explained 
-XX:NewRatio=4 -XX:SurvivorRatio=8 
-XX:+UseCompressedOops 
-Xss256k 
-XX:+CMSClassUnloadingEnabled 
-XX:+UseParNewGC
JVM Settings Explained 
-XX:+DisableExplicitGC 
-XX:+UseCMSInitiatingOccupancyOnly 
-XX:+CMSScavengeBeforeRemark 
-XX:CMSInitiatingOccupancyFraction=68
JVM Settings Explained 
-XX:CMSFullGCsBeforeCompaction=1 
-XX:MaxPermSize=640m -XX:PermSize=640m 
-XX:+UseConcMarkSweepGC
Threads and all the rest... 
● “TNT checklist” (~55-point inspection)
Threads and all the rest... 
● Important thread pools: 
o ColdFusion 
o Tomcat 
o Web server connector
Threads and all the rest... 
http://weblogs.asp.net/owscott/windows-8-iis-8- 
concurrent-requests-limit
Recommended Thread Settings 
● runtime/conf/server.xml: 
<Connector port="8012" protocol="AJP/1.3" 
redirectPort="8445" tomcatAuthentication="false" 
maxThreads="525" connectionTimeout="60000" /> 
<Connector executor="tomcatThreadPool"... /> 
(Note: connectionTimeout is in milliseconds)
Recommended Thread Settings 
● workers.properties: 
worker.{instance}.max_reuse_connections=500 
worker.{instance}.connection_pool_size=500 
worker.{instance}.connection_pool_timeout=60 
(Notes: connection_pool_timeout is in seconds; 
must be the same as server.xml's connectionTimeout) 
Reference: http://blogs.coldfusion.com/post.cfm/tuning-coldfusion-10-iis-connector- 
configuration
Recommended Thread Settings 
● ColdFusion 
Administrator:
The Web Server Connector
The Web Server Connector
Start your engines! 
● Live load tests 
● 2 c3.2xlarge EC2 servers (ColdFusion 10) 
● 1 c3.2xlarge EC2 server (MySQL) 
● PetMarket application 
● JMeter for load
Summary 
● Tune memory 
● Tune threads 
● Monitor! 
● Know thy metrics (logs, monitors, etc.)
Q&A 
● Questions? 
● Comments? 
● Commentary?
Contact Us 
● via Twitter: @IamSigmund (Patrick), 
@cfwhisperer (Mike), @superex2000 (Rex) 
● via Email: patrick@webapper.com 
● Amazon Web Services: 
aws@webapper.com 
● www.coldfusionsupport.net 
www.webapper.com 
www.seefusion.com
Cold fusion is racecar fast

Más contenido relacionado

La actualidad más candente

Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS永对 陈
 
Performance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerformance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerforce
 
StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra StackIQ
 
AEM WITH MONGODB
AEM WITH MONGODBAEM WITH MONGODB
AEM WITH MONGODBNate Nelson
 
StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz StackIQ
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage PerspectivePerforce
 
[Perforce] Admin Workshop
[Perforce] Admin Workshop[Perforce] Admin Workshop
[Perforce] Admin WorkshopPerforce
 
StackiFest16: Building a Cluster with Stacki - Greg Bruno
StackiFest16: Building a Cluster with Stacki - Greg BrunoStackiFest16: Building a Cluster with Stacki - Greg Bruno
StackiFest16: Building a Cluster with Stacki - Greg BrunoStackIQ
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Marcus Barczak
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningAlbert Chen
 
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreScaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreDropsolid
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackIQ
 
Inside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentInside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentMariaDB plc
 
Apache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleApache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleAmit Aggarwal
 
Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2ShepHertz
 

La actualidad más candente (19)

Scaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWSScaling Drupal & Deployment in AWS
Scaling Drupal & Deployment in AWS
 
Performance & Scalability Improvements in Perforce
Performance & Scalability Improvements in PerforcePerformance & Scalability Improvements in Perforce
Performance & Scalability Improvements in Perforce
 
StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra StackiFest 16: Stacki Overview- Anoop Rajendra
StackiFest 16: Stacki Overview- Anoop Rajendra
 
AEM WITH MONGODB
AEM WITH MONGODBAEM WITH MONGODB
AEM WITH MONGODB
 
StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz StackiFest16: What's Next in Stacki - Mason Katz
StackiFest16: What's Next in Stacki - Mason Katz
 
3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective3 Ways to Improve Performance from a Storage Perspective
3 Ways to Improve Performance from a Storage Perspective
 
[Perforce] Admin Workshop
[Perforce] Admin Workshop[Perforce] Admin Workshop
[Perforce] Admin Workshop
 
StackiFest16: Building a Cluster with Stacki - Greg Bruno
StackiFest16: Building a Cluster with Stacki - Greg BrunoStackiFest16: Building a Cluster with Stacki - Greg Bruno
StackiFest16: Building a Cluster with Stacki - Greg Bruno
 
Caching
CachingCaching
Caching
 
Scripting Embulk Plugins
Scripting Embulk PluginsScripting Embulk Plugins
Scripting Embulk Plugins
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and moreScaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
Scaling Drupal in AWS Using AutoScaling, Cloudformation, RDS and more
 
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg BrunoStackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
StackiFest16: How PayPal got a 300 Nodes up in 14 minutes - Greg Bruno
 
Storage Services
Storage ServicesStorage Services
Storage Services
 
Inside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at TencentInside CynosDB: MariaDB optimized for the cloud at Tencent
Inside CynosDB: MariaDB optimized for the cloud at Tencent
 
Apache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleApache Camel: Jetty Component With Example
Apache Camel: Jetty Component With Example
 
Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2
 
London HUG 8/3 - Nomad
London HUG 8/3 - NomadLondon HUG 8/3 - Nomad
London HUG 8/3 - Nomad
 

Destacado

Safeguarding applications from cyber attacks
Safeguarding applications from cyber attacksSafeguarding applications from cyber attacks
Safeguarding applications from cyber attacksColdFusionConference
 
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataIn The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataColdFusionConference
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionColdFusionConference
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]ColdFusionConference
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipColdFusionConference
 
Emberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applicationsEmberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applicationsColdFusionConference
 
Our application got popular and now it breaks
Our application got popular and now it breaksOur application got popular and now it breaks
Our application got popular and now it breaksColdFusionConference
 
How do I write Testable Javascript
How do I write Testable JavascriptHow do I write Testable Javascript
How do I write Testable JavascriptColdFusionConference
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSColdFusionConference
 

Destacado (20)

Safeguarding applications from cyber attacks
Safeguarding applications from cyber attacksSafeguarding applications from cyber attacks
Safeguarding applications from cyber attacks
 
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember DataIn The Trenches With Tomster, Upgrading Ember.js & Ember Data
In The Trenches With Tomster, Upgrading Ember.js & Ember Data
 
Load Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusionLoad Balancing, Failover and Scalability with ColdFusion
Load Balancing, Failover and Scalability with ColdFusion
 
Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]Single page apps_with_cf_and_angular[1]
Single page apps_with_cf_and_angular[1]
 
Dependency injectionpreso
Dependency injectionpresoDependency injectionpreso
Dependency injectionpreso
 
Node withoutservers aws-lambda
Node withoutservers aws-lambdaNode withoutservers aws-lambda
Node withoutservers aws-lambda
 
Building Software in a weekend
Building Software in a weekendBuilding Software in a weekend
Building Software in a weekend
 
Workflows and Digital Signatures
Workflows and Digital SignaturesWorkflows and Digital Signatures
Workflows and Digital Signatures
 
Cf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanshipCf objective2014 software-craftsmanship
Cf objective2014 software-craftsmanship
 
Emberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applicationsEmberjs building-ambitious-web-applications
Emberjs building-ambitious-web-applications
 
Our application got popular and now it breaks
Our application got popular and now it breaksOur application got popular and now it breaks
Our application got popular and now it breaks
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
How do I write Testable Javascript
How do I write Testable JavascriptHow do I write Testable Javascript
How do I write Testable Javascript
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
Expand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWSExpand Your ColdFusion App Power with AWS
Expand Your ColdFusion App Power with AWS
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
CFML Sessions For Dummies
CFML Sessions For DummiesCFML Sessions For Dummies
CFML Sessions For Dummies
 
Test box bdd
Test box bddTest box bdd
Test box bdd
 
Effective version control
Effective version controlEffective version control
Effective version control
 

Similar a Cold fusion is racecar fast

Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Hostway|HOSTING
 
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...Alexander Dymo
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleRafał Leszko
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseJamund Ferguson
 
Tweaking performance on high-load projects
Tweaking performance on high-load projectsTweaking performance on high-load projects
Tweaking performance on high-load projectsDmitriy Dumanskiy
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short versionAlex Pinkin
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseC4Media
 
Troubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsTroubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsPoonam Bajaj Parhar
 
JITServerTalk-OSS-2023.pdf
JITServerTalk-OSS-2023.pdfJITServerTalk-OSS-2023.pdf
JITServerTalk-OSS-2023.pdfRichHagarty
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)Claus Ibsen
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務Mu Chun Wang
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Fastly
 
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPROIDEA
 
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020Jelastic Multi-Cloud PaaS
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfcodearachnid_test
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfcodearachnid_test
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
 

Similar a Cold fusion is racecar fast (20)

Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
 
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...
Alexander Dymo - RailsConf 2014 - Improve performance: Optimize Memory and Up...
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
 
Tweaking performance on high-load projects
Tweaking performance on high-load projectsTweaking performance on high-load projects
Tweaking performance on high-load projects
 
SOLR Power FTW: short version
SOLR Power FTW: short versionSOLR Power FTW: short version
SOLR Power FTW: short version
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Troubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsTroubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java Applications
 
JITServerTalk-OSS-2023.pdf
JITServerTalk-OSS-2023.pdfJITServerTalk-OSS-2023.pdf
JITServerTalk-OSS-2023.pdf
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務手把手教你如何串接 Log 到各種網路服務
手把手教你如何串接 Log 到各種網路服務
 
Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge Altitude San Francisco 2018: Logging at the Edge
Altitude San Francisco 2018: Logging at the Edge
 
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
 
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020
State of Java Elasticity. Tuning Java Efficiency - GIDS.JAVA LIVE 2020
 
Sprint 62
Sprint 62Sprint 62
Sprint 62
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdf
 
WordCamp RVA
WordCamp RVAWordCamp RVA
WordCamp RVA
 
WordCamp RVA
WordCamp RVAWordCamp RVA
WordCamp RVA
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdf
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
 

Más de ColdFusionConference

Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016ColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 

Más de ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 

Último

2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 

Último (20)

2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 

Cold fusion is racecar fast

  • 1. ColdFusion is Racecar Fast! (Or, ColdFusion Performance Best Practices) The Adobe ColdFusion Summit 2014 - Las Vegas
  • 2. We are Webapper ● Co-founded in 2001 by two former members of Allaire Consulting Services ● Speakers today: o Mike Brunt: Co-Founder, Director of Performance Engineering Services o Rex Aglibot: Senior Performance Engineer o Patrick Quinn: Co-Founder, CTO
  • 5. Webapper on the Web www.webapper.com www.seefusion.com www.coldfusionsupport.net
  • 8. ‘Splain the session title, please? ● Indy 500 o World’s largest auto race o We’ve been tuning it in traditional hosting environment for 5 years ● New hosting infrastructure and site migration in 1 week! (~8 individual domains) ● Adobe case study: http://adobe.ly/1r9hULg ● And, well, ColdFusion is fast!
  • 9. Results ● 50 r/s X 8 servers (max) ● AWS Auto-scaling ● Zero bottlenecks (literally) ● Zero slowdowns ● Active/passive data tier (SQL Server)
  • 10. The Webapper Way ● How to tune/troubleshoot a ColdFusion server o Empirical o ~ 5 different data sets (logs, memory/thread profiling, monitoring tools) ● PASS ● How to prioritize “TNT” problems
  • 11. Today ● Good general settings for ColdFusion o Memory and thread settings o The ColdFusion connector! ● Live load ● Q&A
  • 12. The Performance and Stability Stack
  • 14. “The Engine Room” The Java Virtual Machine = the real meaning behind the phrase “ColdFusion is Java.”
  • 15. Great Default JVM Settings - 64 bit -server -Xms6144m -Xmx6144m -XX:+PrintGCDetails - XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -verbose:gc - Xloggc:webapperGC219.log -XX:NewRatio=4 -XX:SurvivorRatio=8 - XX:+UseCompressedOops -Xss256k -XX:+CMSClassUnloadingEnabled - - XX:+UseParNewGC -XX:+DisableExplicitGC - XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSScavengeBeforeRemark - XX:CMSInitiatingOccupancyFraction=68 - XX:CMSFullGCsBeforeCompaction=1 Dsun.io.useCanonCaches=false - XX:MaxPermSize=640m -XX:PermSize=640m -XX:+UseConcMarkSweepGC
  • 16. Wait, what? JVM Settings Explained -server -Xms6144m -Xmx6144m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC - verbose:gc -Xloggc:webapperGC219.log
  • 17. JVM Settings Explained -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Xss256k -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC
  • 18. JVM Settings Explained -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSScavengeBeforeRemark -XX:CMSInitiatingOccupancyFraction=68
  • 19. JVM Settings Explained -XX:CMSFullGCsBeforeCompaction=1 -XX:MaxPermSize=640m -XX:PermSize=640m -XX:+UseConcMarkSweepGC
  • 20. Threads and all the rest... ● “TNT checklist” (~55-point inspection)
  • 21. Threads and all the rest... ● Important thread pools: o ColdFusion o Tomcat o Web server connector
  • 22. Threads and all the rest... http://weblogs.asp.net/owscott/windows-8-iis-8- concurrent-requests-limit
  • 23. Recommended Thread Settings ● runtime/conf/server.xml: <Connector port="8012" protocol="AJP/1.3" redirectPort="8445" tomcatAuthentication="false" maxThreads="525" connectionTimeout="60000" /> <Connector executor="tomcatThreadPool"... /> (Note: connectionTimeout is in milliseconds)
  • 24. Recommended Thread Settings ● workers.properties: worker.{instance}.max_reuse_connections=500 worker.{instance}.connection_pool_size=500 worker.{instance}.connection_pool_timeout=60 (Notes: connection_pool_timeout is in seconds; must be the same as server.xml's connectionTimeout) Reference: http://blogs.coldfusion.com/post.cfm/tuning-coldfusion-10-iis-connector- configuration
  • 25. Recommended Thread Settings ● ColdFusion Administrator:
  • 26. The Web Server Connector
  • 27. The Web Server Connector
  • 28. Start your engines! ● Live load tests ● 2 c3.2xlarge EC2 servers (ColdFusion 10) ● 1 c3.2xlarge EC2 server (MySQL) ● PetMarket application ● JMeter for load
  • 29. Summary ● Tune memory ● Tune threads ● Monitor! ● Know thy metrics (logs, monitors, etc.)
  • 30. Q&A ● Questions? ● Comments? ● Commentary?
  • 31. Contact Us ● via Twitter: @IamSigmund (Patrick), @cfwhisperer (Mike), @superex2000 (Rex) ● via Email: patrick@webapper.com ● Amazon Web Services: aws@webapper.com ● www.coldfusionsupport.net www.webapper.com www.seefusion.com

Notas del editor

  1. AWS = world’s first ColdFusion consultancy? ~40 of us (many of whom are here today!), in the field as an extension of engineering team. “PE” (performance engineering services) are our flagship offering (founded in 2001). PE = a continuation of ACS offerings. We’ll be speaking today the same way we work--collaboratively.
  2. Apologies to Steve Jobs, but… ...biggest news from Webapper of late is our new AWS managed services hosting. Still finalizing w/ Adobe. Coming soon! Important: What we’re talking about today is not specific to AWS, but we will refer to it in places.
  3. Case study about AWS, but this talk’s recommendations can be applied anywhere. We’ve seen a lot of ColdFusion. We know it’s incredibly fast and stable, when you do things the right way.
  4. Our TNT work is very empirical - we typically look at ~5 different data sets when tuning/troubleshooting a server. We don’t just apply generic settings every time. The settings end up being similar, often, but always based on app- and server-specific data. Today, however, we’ll try to share some good general settings, averaged over hundreds of engagements and thousands of ColdFusion servers.
  5. Our TNT work is very empirical - we typically look at ~5 different data sets when tuning/troubleshooting a server. We don’t just apply generic settings every time. The settings end up being similar, often, but always based on app- and server-specific data. Today, however, we’ll try to share some good general settings, averaged over hundreds of engagements and thousands of ColdFusion servers.
  6. -Xms4096m -Xmx4096m - This increases the overall heap size to 6GB and added a start size of the same size. -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -verbose:gc -Xloggc:webapperGC219.log - These enable verbose GC logging.
  7. -XX:NewRatio=4 -XX:SurvivorRatio=8 - These are added to increase the size of the Young Generation and to relate its size to the overall heap, which will help to reduce the number of short­lived objects getting move to the Old­/Tenured generation too soon. -XX:+UseCompressedOops - This relates directly to Java running on 64 bit systems. -Xss256k - This resizes the default thread size down to 256k per thread which is typically more efficient in our experience. -XX:+CMSClassUnloadingEnabled - Use this if you see this entry in your logs, as it indicates suboptimal performance of your existing settings: "Please use CMSClassUnloadingEnabled in place of CMSPermGenSweepingEnabled in the future." -XX:+UseParNewGC - This changes the Young Generation collector to one more suited to work with the CMS collector.
  8. -XX:+DisableExplicitGC - This will prevent any unnecessary Full GC's from occurring. -XX:+CMSScavengeBeforeRemark -XX:CMSInitiatingOccupancyFraction=68 -XX:CMSFullGCsBeforeCompaction=1 - These are all enhancements used over the past 2-3 years by our team for 64-bit systems and developed from a lot of analysis and load testing. ­XX:+UseCMSInitiatingOccupancyOnly and ­XX:CMSInitiatingOccupancyFraction=68 are typically used together and are used to start the concurrent collection earlier; in this case the collection will start when the Old­/Tenured’s heap size reaches 68% used. This should reduce the number of Full GC's. -XX:+CMSScavengeBeforeRemark will force a collection of the New­/Young space prior to a CMS remark as this should reduce its size and thereby the time spent in remark.
  9. -XX:+UseConcMarkSweepGC - This changed the garbage collector from the parallel collector to concurrent mark sweep or CMS collector which is better for 64-bit systems. -XX:PermSize=192m -XX:MaxPermSize=256m - The permanent generation is where ColdFusion stores its classes; we often observe that this space is getting used up quickly, so we add a start size and increase maximum size also.
  10. At Webapper, we have a service that we call TNT which stands for Tuning and Troubleshooting… and we have a 55-point checklist where we check various settings in the operating system, in the web server and the application server, these are checks for performance and security for example we check what ports are open via nmap, and some things as low-level as hard drive free space we had a server go down and we were checking different things, we were pinging it, memory was ok, we can RDP into it and we were checking if the CF and webserver services were up, so what’s going on? it turns out that theres no more drive space! who knew that would be an issue?! for IIS things like compression and application pool recycling settings and CFAdmin optimizations but of course
  11. Now on to threads settings thread optimization is a crucial performance aspect of your servers… for example I was doing some load tests on my local development system, and I couldn’t for the life of me go past 10 concurrent requests I tweaked all the settings that can be tweaked, put them up to 10,000 then it turns out, non-server versions of windows have a request limit like win7 ultimate’s IIS is limited to 10 concurrent requests…
  12. I had to learn that the hard way imagine if that was a limit on your server, so don’t learn it the hard way like I did To optimize thread settings, there are 3 areas that all work together, 3 areas or POOLS, and are controlled by different things. that link explains the thread limitations, it just illustrates that there are pitfalls to avoid in thread settings
  13. First is tomcat’s server xml file… this is located under each of your instance’s /runtime/conf directory… so if you have an instance called instance01, it would be under C:\ColdFusion10\instance01\runtime\conf\ this is the tomcat thread pool allotment for the web connector… there’s also an executor maxthreads setting, and we also set that to the same one, but not for the internal webserver, but for the catalina executor
  14. this is the workers.properties file, which controls the thread pool for IIS. This is specific to a web connection… but this file is under the C:\ColdFusion10\config\wsconfig directory then you would see multiple numbered directories under there, depending on how many websites you have connected to ColdFusion All these settings are referenced in that adobe blogpost
  15. This is CFAdmin’s thread settings, located under Server Settings > Request Tuning. The way we do it, we can run load tests against the application and optimize and tune these settings, or we analyze thread metrics whether via metrics logging, SeeFusion DB logging or FusionReactor logging, but we analyze the threads and for example if we see that the max you can get is 50 and you have thread starvation, we raise that limit. Or if we see that you are already at 250, and your max is 110, then we lower that to 125, just so that we can put those resources back into the stack but if you don’t have that luxury, just raise the defaults by a factor of 5 or 10 So with the server.xml file, I’ve seen maxThreads where if you change it, it changes the setting in CFAdmin too.
  16. it’s also known as the wsconfig tool… who uses the web server connector… that’s great… most people during installation would just configure ALL sites to use CF, please don’t do that. Use the webconnector post-installation of ColdFusion one rule of thumb, please run it as ADMINISTRATOR, even if you are logged in as Administrator if you are using multiple instances, you HAVE to use the individual directory’s connector also if you are using clustered instances, you use the webconnector to connect to whatever instance or cluster you want
  17. I mentioned that during installation of CF, to not configure the webserver but to use the connector after installation. When you do use it, do not use ALL… do create connections for each website, just so that you have different connector pool settings, but you do have to aggregate those swimming pool settings into the server.xml… Here’s a PROTIP… For trouble shooting why CF is not working with your webserver (IIS, Apache), do this... just click on ADVANCED here and enable VERBOSE LOGGING and you can also set some thread settings there so now I turn you over back to the everlovable future President of the US 2024, PAT QUINN