SlideShare una empresa de Scribd logo
1 de 32
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

Más contenido relacionado

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

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
KMS Technology
 
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
ColdFusionConference
 

Similar a 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
 

Más de Hostway|HOSTING

Más de 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
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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

Notas del editor

  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.