ColdFusion 生产服务器 - 性能调整

ColdFusion Production Server - Tuning for Performance

我正在尝试为我的 ColdFusion 生产服务器确定最佳设置。服务器具有以下规格。

ColdFusion: Enterprise Version 10
O/S: Windows Server 2012R2 Standard
Processor: Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
Installed Memory (RAM): 20.0 GB
System Type: 64-bit Operating System, x64-based processor

我的 Java 和 CFIDE 中的 JVM 设置是:

Minimum Heap Size (in MB): 2048
Maximum Heap Size (in MB): 4096

JVM Arguments
-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 version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) Client VM (build 25.73-b02, mixed mode)

谢谢!

您是否运行将所有这些站点都放在一个 ColdFusion 实例上?如果是这样,我会推荐 运行 多个 CF 实例。给定您的总可用内存,每个实例都可以 运行 相同的 JVM 设置。

Minimum Heap Size (in MB): 2048
Maximum Heap Size (in MB): 4096

因此,总共分配给 4 个 CF 实例的内存最多约为 16GB。然后根据网站使用情况平衡每个实例上的网站数量 运行。您可能有一个需要自己的实例,其余的可以分布在其他三个实例中。

也可以 运行 所有实例上的所有站点使用负载平衡器将请求从一个实例传递到另一个实例。任何一种方法都应确保一个站点不会导致其余站点 运行 很差或根本不会。