SlideShare a Scribd company logo
1
Tuning the Performance of
Your ColdFusion Environment
to Racecar Specs!
Housekeeping
• This webinar is being recorded and an on-demand
version will be available at the same URL at the
conclusion of the webinar
• Please submit questions via the button on the upper
left of your viewing panel
• If we don’t get to your question during the webinar,
we will follow up with you via email
• View related resources via the “Attachments”
button in your viewing panel
• On Twitter? Join the conversation: #ColdFusion,
@HOSTINGdotcom
We are Webapper
• Co-founded in 2001 by two former
members of Allaire Consulting
Services
• Speakers today:
• Patrick Quinn: Co-Founder, CTO of
Webapper
• Mike McCracken: Director, Professional
Services for HOSTING
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 @ HOSTING for 5
years
• And, well, ColdFusion is fast!
Results
• 50 r/s X 8 ColdFusion servers (at peak)
• Cloud 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!
• 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
Summary
• Tune memory
• Tune threads
• Monitor!
• Know thy metrics (logs, monitors, etc.)
New SOTA ColdFusion Cloud Hosting
• Automatically optimized
• Automatically load-balanced
• Automatically redundant
• Automatically monitored
• Automatic data tier clustering
Contact Us
• via Twitter: @IamSigmund
• via Email: patrick@webapper.com
• HOSTING.com Customers:
hosting@webapper.com
• www.coldfusionsupport.net
www.webapper.com
www.seefusion.com
Michael McCracken | HOSTING Director, Professional Services
Patrick Quinn | Webapper President and CTO
32
For more information about solutions from HOSTING and Webapper,
please contact us at +1 888 894 4678.
Q&A

More Related Content

What's hot

Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
Anton Arhipov
 
HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩
smalltown
 
こんなところにセキュリティ
こんなところにセキュリティこんなところにセキュリティ
こんなところにセキュリティ
はなずきん Hana
 
Implementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on KeycloakImplementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on Keycloak
Yuichi Nakamura
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
OWASP
 
Apigee Demo: API Platform Overview
Apigee Demo: API Platform OverviewApigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
Apigee | Google Cloud
 
Secret Management Architectures
Secret Management Architectures Secret Management Architectures
Secret Management Architectures
Stenio Ferreira
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
Vladimir Dzhuvinov
 
Self-Sovereign Identity: Ideology and Architecture with Christopher Allen
Self-Sovereign Identity: Ideology and Architecture with Christopher AllenSelf-Sovereign Identity: Ideology and Architecture with Christopher Allen
Self-Sovereign Identity: Ideology and Architecture with Christopher Allen
SSIMeetup
 
Intro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID Connect
LiamWadman
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon Web Services Korea
 
Vault
VaultVault
Vault
dawnlua
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
Brian Mann
 
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
Amazon Web Services Korea
 
Extent Test report v3 with Appium/Selenium
Extent Test report v3 with Appium/SeleniumExtent Test report v3 with Appium/Selenium
Extent Test report v3 with Appium/Selenium
Raman Gowda Hullur
 
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Matt Raible
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
Orest Ivasiv
 
Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018
Natalia Kataoka
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

Build pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSLBuild pipelines with TeamCity and Kotlin DSL
Build pipelines with TeamCity and Kotlin DSL
 
HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩
 
こんなところにセキュリティ
こんなところにセキュリティこんなところにセキュリティ
こんなところにセキュリティ
 
Implementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on KeycloakImplementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on Keycloak
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
Apigee Demo: API Platform Overview
Apigee Demo: API Platform OverviewApigee Demo: API Platform Overview
Apigee Demo: API Platform Overview
 
Secret Management Architectures
Secret Management Architectures Secret Management Architectures
Secret Management Architectures
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
Self-Sovereign Identity: Ideology and Architecture with Christopher Allen
Self-Sovereign Identity: Ideology and Architecture with Christopher AllenSelf-Sovereign Identity: Ideology and Architecture with Christopher Allen
Self-Sovereign Identity: Ideology and Architecture with Christopher Allen
 
Intro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID ConnectIntro to OAuth2 and OpenID Connect
Intro to OAuth2 and OpenID Connect
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
Vault
VaultVault
Vault
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
 
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
DMS와 SCT를 활용한 Oracle에서 Open Source DB로의 전환
 
Extent Test report v3 with Appium/Selenium
Extent Test report v3 with Appium/SeleniumExtent Test report v3 with Appium/Selenium
Extent Test report v3 with Appium/Selenium
 
Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022Comparing Native Java REST API Frameworks - Seattle JUG 2022
Comparing Native Java REST API Frameworks - Seattle JUG 2022
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018Migrating from IBM API Connect v5 to v2018
Migrating from IBM API Connect v5 to v2018
 
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
Amazon Aurora 성능 향상 및 마이그레이션 모범 사례 - AWS Summit Seoul 2017
 

Similar to Tuning the Performance of Your ColdFusion Environment to Racecar Specs!

Cold fusion is racecar fast
Cold fusion is racecar fastCold fusion is racecar fast
Cold fusion is racecar fast
ColdFusionConference
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
Christoph Engelbert
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
Ortus Solutions, Corp
 
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
Kevin Griffin
 
Deep Dive Amazon EC2
Deep Dive Amazon EC2Deep Dive Amazon EC2
Deep Dive Amazon EC2
Amazon Web Services
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
Jonathan Klein
 
Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)
yann_s
 
Troubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsTroubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java Applications
Poonam Bajaj Parhar
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
ColdFusionConference
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Shailendra Prasad
 
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time CompilationThe Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
Monica Beckwith
 
Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)
Julien SIMON
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld
 
A Year in Google - Percona Live Europe 2018
A Year in Google - Percona Live Europe 2018A Year in Google - Percona Live Europe 2018
A Year in Google - Percona Live Europe 2018
Carmen Mason
 
Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...
Andy Kucharski
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
Justin Dorfman
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Daniel Zivkovic
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionColdFusionConference
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
fakeaccount225095
 

Similar to Tuning the Performance of Your ColdFusion Environment to Racecar Specs! (20)

Cold fusion is racecar fast
Cold fusion is racecar fastCold fusion is racecar fast
Cold fusion is racecar fast
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High GearASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
ASP.NET Quick Wins - 20 Tips and Tricks To Shift Your Application into High Gear
 
Deep Dive Amazon EC2
Deep Dive Amazon EC2Deep Dive Amazon EC2
Deep Dive Amazon EC2
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)Structure your Play application with the cake pattern (and test it)
Structure your Play application with the cake pattern (and test it)
 
Troubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java ApplicationsTroubleshooting Memory Problems in Java Applications
Troubleshooting Memory Problems in Java Applications
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
 
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time CompilationThe Performance Engineer's Guide To HotSpot Just-in-Time Compilation
The Performance Engineer's Guide To HotSpot Just-in-Time Compilation
 
Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)Build, train, and deploy Machine Learning models at scale (May 2018)
Build, train, and deploy Machine Learning models at scale (May 2018)
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
 
A Year in Google - Percona Live Europe 2018
A Year in Google - Percona Live Europe 2018A Year in Google - Percona Live Europe 2018
A Year in Google - Percona Live Europe 2018
 
Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
 
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusionAdvanced caching techniques with ehcache, big memory, terracotta, and coldfusion
Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 

More from Hostway|HOSTING

Compliance-as-a-Crisis: Managing Cloud Compliance
Compliance-as-a-Crisis: Managing Cloud ComplianceCompliance-as-a-Crisis: Managing Cloud Compliance
Compliance-as-a-Crisis: Managing Cloud Compliance
Hostway|HOSTING
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
Hostway|HOSTING
 
KPIs: Aligning Your IT and Business Objectives
KPIs: Aligning Your IT and Business ObjectivesKPIs: Aligning Your IT and Business Objectives
KPIs: Aligning Your IT and Business Objectives
Hostway|HOSTING
 
Ransomware: Mitigation Through Preparation
Ransomware: Mitigation Through PreparationRansomware: Mitigation Through Preparation
Ransomware: Mitigation Through Preparation
Hostway|HOSTING
 
Cyber Threat Hunting with Phirelight
Cyber Threat Hunting with PhirelightCyber Threat Hunting with Phirelight
Cyber Threat Hunting with Phirelight
Hostway|HOSTING
 
Hacking Airwaves with Pineapples
Hacking Airwaves with PineapplesHacking Airwaves with Pineapples
Hacking Airwaves with Pineapples
Hostway|HOSTING
 
5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated
Hostway|HOSTING
 
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You SignCaveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
Hostway|HOSTING
 
Cloud Migration: Tales from the Trenches
Cloud Migration: Tales from the TrenchesCloud Migration: Tales from the Trenches
Cloud Migration: Tales from the Trenches
Hostway|HOSTING
 
Protecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it HappensProtecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it Happens
Hostway|HOSTING
 
Don’t Get Caught with An Out of Support MS SQL Server…
Don’t Get Caught with An Out of Support MS SQL Server…Don’t Get Caught with An Out of Support MS SQL Server…
Don’t Get Caught with An Out of Support MS SQL Server…
Hostway|HOSTING
 
Content Delivery in an On-Demand Age
Content Delivery in an On-Demand AgeContent Delivery in an On-Demand Age
Content Delivery in an On-Demand Age
Hostway|HOSTING
 
High Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
High Performance Security: Mitigating DDoS Attacks Without Losing Your EdgeHigh Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
High Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
Hostway|HOSTING
 
Finding Success with Managed Services in the Azure Environment
Finding Success with Managed Services in the Azure EnvironmentFinding Success with Managed Services in the Azure Environment
Finding Success with Managed Services in the Azure Environment
Hostway|HOSTING
 
DR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the JobDR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the Job
Hostway|HOSTING
 
Safeguarding PCI Data in the Cloud
Safeguarding PCI Data in the CloudSafeguarding PCI Data in the Cloud
Safeguarding PCI Data in the Cloud
Hostway|HOSTING
 
Understanding Your Cloud Service Provider’s BAA
Understanding Your Cloud Service Provider’s BAAUnderstanding Your Cloud Service Provider’s BAA
Understanding Your Cloud Service Provider’s BAA
Hostway|HOSTING
 
How to Spend Your Cloud Security Dollar
How to Spend Your Cloud Security DollarHow to Spend Your Cloud Security Dollar
How to Spend Your Cloud Security Dollar
Hostway|HOSTING
 
Azure: Finding Success Beyond Test/Dev
Azure: Finding Success Beyond Test/DevAzure: Finding Success Beyond Test/Dev
Azure: Finding Success Beyond Test/Dev
Hostway|HOSTING
 
New Business Models in Behavioral Health IT
New Business Models in Behavioral Health ITNew Business Models in Behavioral Health IT
New Business Models in Behavioral Health IT
Hostway|HOSTING
 

More from Hostway|HOSTING (20)

Compliance-as-a-Crisis: Managing Cloud Compliance
Compliance-as-a-Crisis: Managing Cloud ComplianceCompliance-as-a-Crisis: Managing Cloud Compliance
Compliance-as-a-Crisis: Managing Cloud Compliance
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
KPIs: Aligning Your IT and Business Objectives
KPIs: Aligning Your IT and Business ObjectivesKPIs: Aligning Your IT and Business Objectives
KPIs: Aligning Your IT and Business Objectives
 
Ransomware: Mitigation Through Preparation
Ransomware: Mitigation Through PreparationRansomware: Mitigation Through Preparation
Ransomware: Mitigation Through Preparation
 
Cyber Threat Hunting with Phirelight
Cyber Threat Hunting with PhirelightCyber Threat Hunting with Phirelight
Cyber Threat Hunting with Phirelight
 
Hacking Airwaves with Pineapples
Hacking Airwaves with PineapplesHacking Airwaves with Pineapples
Hacking Airwaves with Pineapples
 
5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated5 Cloud Migration Experiences Not to Be Repeated
5 Cloud Migration Experiences Not to Be Repeated
 
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You SignCaveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
Caveat Emptor: 10 Questions to Ask a Managed Service Provider Before You Sign
 
Cloud Migration: Tales from the Trenches
Cloud Migration: Tales from the TrenchesCloud Migration: Tales from the Trenches
Cloud Migration: Tales from the Trenches
 
Protecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it HappensProtecting Against Disaster: Plan for the Inevitable Before it Happens
Protecting Against Disaster: Plan for the Inevitable Before it Happens
 
Don’t Get Caught with An Out of Support MS SQL Server…
Don’t Get Caught with An Out of Support MS SQL Server…Don’t Get Caught with An Out of Support MS SQL Server…
Don’t Get Caught with An Out of Support MS SQL Server…
 
Content Delivery in an On-Demand Age
Content Delivery in an On-Demand AgeContent Delivery in an On-Demand Age
Content Delivery in an On-Demand Age
 
High Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
High Performance Security: Mitigating DDoS Attacks Without Losing Your EdgeHigh Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
High Performance Security: Mitigating DDoS Attacks Without Losing Your Edge
 
Finding Success with Managed Services in the Azure Environment
Finding Success with Managed Services in the Azure EnvironmentFinding Success with Managed Services in the Azure Environment
Finding Success with Managed Services in the Azure Environment
 
DR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the JobDR in the Cloud: Finding the Right Tool for the Job
DR in the Cloud: Finding the Right Tool for the Job
 
Safeguarding PCI Data in the Cloud
Safeguarding PCI Data in the CloudSafeguarding PCI Data in the Cloud
Safeguarding PCI Data in the Cloud
 
Understanding Your Cloud Service Provider’s BAA
Understanding Your Cloud Service Provider’s BAAUnderstanding Your Cloud Service Provider’s BAA
Understanding Your Cloud Service Provider’s BAA
 
How to Spend Your Cloud Security Dollar
How to Spend Your Cloud Security DollarHow to Spend Your Cloud Security Dollar
How to Spend Your Cloud Security Dollar
 
Azure: Finding Success Beyond Test/Dev
Azure: Finding Success Beyond Test/DevAzure: Finding Success Beyond Test/Dev
Azure: Finding Success Beyond Test/Dev
 
New Business Models in Behavioral Health IT
New Business Models in Behavioral Health ITNew Business Models in Behavioral Health IT
New Business Models in Behavioral Health IT
 

Recently uploaded

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 

Recently uploaded (20)

Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 

Tuning the Performance of Your ColdFusion Environment to Racecar Specs!

  • 1. 1 Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
  • 2. Housekeeping • This webinar is being recorded and an on-demand version will be available at the same URL at the conclusion of the webinar • Please submit questions via the button on the upper left of your viewing panel • If we don’t get to your question during the webinar, we will follow up with you via email • View related resources via the “Attachments” button in your viewing panel • On Twitter? Join the conversation: #ColdFusion, @HOSTINGdotcom
  • 3. We are Webapper • Co-founded in 2001 by two former members of Allaire Consulting Services • Speakers today: • Patrick Quinn: Co-Founder, CTO of Webapper • Mike McCracken: Director, Professional Services for HOSTING
  • 6. Webapper on the Web www.webapper.com www.seefusion.com www.coldfusionsupport.net
  • 9. ‘Splain the session title, please? • Indy 500 o World’s largest auto race o We’ve been tuning it @ HOSTING for 5 years • And, well, ColdFusion is fast!
  • 10. Results • 50 r/s X 8 ColdFusion servers (at peak) • Cloud scaling • Zero bottlenecks (literally) • Zero slowdowns • Active/passive data tier (SQL Server)
  • 11. 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
  • 12. Today • Good general settings for ColdFusion o Memory and thread settings o The ColdFusion connector! • Q&A
  • 13. The Performance and Stability Stack
  • 15. “The Engine Room” The Java Virtual Machine = the real meaning behind the phrase “ColdFusion is Java.”
  • 16. 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
  • 17. Wait, what? JVM Settings Explained -server -Xms6144m -Xmx6144m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps - XX:+PrintHeapAtGC -verbose:gc - Xloggc:webapperGC219.log
  • 18. JVM Settings Explained -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Xss256k -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC
  • 21. Threads and all the rest... • “TNT checklist” (~55-point inspection)
  • 22. Threads and all the rest... • Important thread pools: o ColdFusion o Tomcat o Web server connector
  • 23. Threads and all the rest... http://weblogs.asp.net/owscott/windows- 8-iis-8-concurrent-requests-limit
  • 24. 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)
  • 25. 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
  • 26. Recommended Thread Settings • ColdFusion Administrator:
  • 27. The Web Server Connector
  • 28. The Web Server Connector
  • 29. Summary • Tune memory • Tune threads • Monitor! • Know thy metrics (logs, monitors, etc.)
  • 30. New SOTA ColdFusion Cloud Hosting • Automatically optimized • Automatically load-balanced • Automatically redundant • Automatically monitored • Automatic data tier clustering
  • 31. Contact Us • via Twitter: @IamSigmund • via Email: patrick@webapper.com • HOSTING.com Customers: hosting@webapper.com • www.coldfusionsupport.net www.webapper.com www.seefusion.com
  • 32. Michael McCracken | HOSTING Director, Professional Services Patrick Quinn | Webapper President and CTO 32 For more information about solutions from HOSTING and Webapper, please contact us at +1 888 894 4678. Q&A

Editor's Notes

  1. ACS = world’s first ColdFusion consultancy? ~40 of us 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. Note about this talk: This webinar is a variation on a talk we originally delivered at the ColdFusion Summit in Las Vegas in Oct. 2014.
  2. Apologies to Steve Jobs, but… ...biggest news from Webapper of late is our formal moved into managed services cloud hosting. Still finalizing w/ HOSTING. Coming soon! More on this later in the presentation.
  3. But, if you’re a HOSTING customer, you get us automatically! We’re the exclusive ColdFusion platform support partner for all HOSTING customers.
  4. We’ve seen a lot of ColdFusion. We know it’s incredibly fast and stable, when you do things the right way.
  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 The ColdFusion 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 primarily checks for performance and security For example, we check what ports are open via nmap, and also simple things like hard drive free space We once 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 there’s no more drive space! (Nasty performance bottleneck!) For IIS, we check things like compression and application pool recycling settings Also comb through CF Admin optimizations
  11. Thread optimization is a crucial performance aspect of your servers.
  12. To optimize thread settings, there are 3 areas that all work together, 3 areas or POOLS, and are controlled by different things.
  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
  18. Automatically optimized: We of course would create a "gold image" ColdFusion server, with our "Webapper Way" tuning optimizations, and use that as the starting point for new hosting setups. Automatically load-balanced: In other words, your app/site/stuff automatically runs on multiple servers, and is load balanced. Automatically redundant: This is the cloud era's version of backups, but, it can and should be smarter, like taking full images as backups, and also making sure any storage media/drives are always redundant, too. Automatically monitored: A hosting system should be monitoring key metrics, and should auto-failover (using the backups and other redundancies) if problems arise. Automatic data tier clustering: There's a database services partner to help with/manage this piece. All of this will be delivered as virtual servers running on top of HOSTING.com’s cloud platform. Our goal is for this to be “point and click easy” to purchase and use.
  19. Want to learn more? Let’s talk next steps.