【发布时间】: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):4096JVM 参数
-服务器 -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,混合模式)