title: ColdFusion Production Server - Tuning for Performance
body: <p>I'm trying to determine the optimal settings for my ColdFusion PRODUCTION server.  The server has the following specs.</p>
  
  <blockquote>
    <p>ColdFusion: Enterprise Version 10<br /> O/S: Windows Server 2012R2
    Standard <br /> Processor: Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
    <br /> Installed Memory (RAM): 20.0 GB <br/> System Type: 64-bit
    Operating System, x64-based processor <br /></p>
  </blockquote>
  
  <p>My Java and JVM settings from the CFIDE are:</p>
  
  <blockquote>
    <p>Minimum Heap Size (in MB): 2048<br /> Maximum Heap Size (in MB): 4096</p>
    
    <p>JVM Arguments<br/>
    -server -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random</p>
  </blockquote>
  
  <p>I have multiple websites running on this production server, all of which use ColdFusion.  The database server is completely separate, so all that this server is responsible for is the ColdFusion application and web server processes.  </p>
  
  <p>The websites are completely data-driven, all pulling from the database located on my production database server.  Lately, I've been seeing the ColdFusion service locking up, as it is maxing out the CPU.  The memory is stable, it's only the CPU that is maxing out.</p>
  
  <p>Can anyone make suggestions as to how I can tune it to improve overall performance while reducing strain on the CPU?</p>
  
  <p>Java Version</p>
  
  <blockquote>
    <p>java version "1.8.0_73"<br /> Java(TM) SE Runtime Environment (build
    1.8.0_73-b02)<br /> Java HotSpot(TM) Client VM (build 25.73-b02, mixed mode)<br /></p>
  </blockquote>
  
  <p>Thank you!</p>