【问题标题】:ColdFusion Production Server - Tuning for PerformanceColdFusion 生产服务器 - 性能调整
【发布时间】:2018-02-21 15:21:06
【问题描述】:

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

ColdFusion:企业版 10
操作系统: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):4096

JVM 参数
-服务器 -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 Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 客户端虚拟机(内部版本 25.73-b02,混合模式)

谢谢!

【问题讨论】:

  • “内存稳定”是什么意思?堆上还剩多少空间?垃圾收集运行的频率和时间是多少?您是否检查过长时间运行的请求?我发现Fusion-Reactor 对监控服务器性能很有帮助。
  • 服务器调优没有万能的方法。唯一的方法是执行负载测试,进行更改,负载测试,进行更改,负载测试等。直到找到满足您首选性能的设置。这是一个很好的起点 - Performance Tuning for ColdFusion Applications 顺便说一下,您运行的是不受支持的 ColdFusion 版本,对 Windows 2012 的主流支持将于今年晚些时候结束。
  • 您使用的是什么版本的 Java?您是否考虑过使用 G1GC 替代 ParallelGC?
  • java 版本 "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) Client VM(build 25.73-b02,混合模式)

标签: coldfusion coldfusion-10


【解决方案1】:

您是否在一个 ColdFusion 实例上运行所有这些站点?如果是这样,我建议运行多个 CF 实例。考虑到您的总可用内存,每个实例都可以运行相同的 JVM 设置。

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 2019-04-22
  • 2018-03-27
相关资源
最近更新 更多