我正在尝试确定ColdFusion PRODUCTION服务器的最佳设置。服务器具有以下规格。
ColdFusion:企业版10
O / S:Windows Server 2012R2 标准
处理器:Intel(R)Xeon(R)CPU E5-2660 v2 @ 2.20GHz
安装内存(RAM):20.0 GB
系统类型:64位 操作系统,基于x64的处理器
来自CFIDE的我的Java和JVM设置是:
最小堆大小(以MB为单位):2048
最大堆大小(以MB为单位):4096JVM参数
-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
我在这个生产服务器上运行了多个网站,所有网站都使用ColdFusion。数据库服务器是完全独立的,因此该服务器负责的是ColdFusion应用程序和Web服务器进程。
网站完全由数据驱动,全部来自我的生产数据库服务器上的数据库。最近,我一直看到ColdFusion服务锁定,因为它最大化了CPU。内存是稳定的,它只是最大化的CPU。
任何人都可以提出如何调整它以提高整体性能同时减轻CPU压力的建议吗?
Java版
java版本" 1.8.0_73"
Java(TM)SE运行时环境(构建 1.8.0_73-b02)
Java HotSpot(TM)客户端VM(版本25.73-b02,混合模式)
谢谢!
答案 0 :(得分:2)
您是否在单个ColdFusion实例上运行所有这些网站?如果是这样,我建议运行多个CF实例。在给定总可用内存的情况下,每个实例都可以运行相同的JVM设置。
Minimum Heap Size (in MB): 2048
Maximum Heap Size (in MB): 4096
因此,分配给总共4个CF实例的最大内存大约为16GB。然后根据站点使用情况平衡每个实例上运行的站点的数量。您可能有一个需要自己的实例,其余的可以分布在其他三个实例上。
还可以使用负载均衡器在所有实例上运行所有站点,以将请求从一个实例传递到另一个实例。任何一种方法都应该确保一个站点不会导致其余站点运行不良或根本不运行。