Java ColdFusion 8性能与性能;负荷监测

Java ColdFusion 8性能与性能;负荷监测,java,performance,coldfusion,Java,Performance,Coldfusion,问题:您可以为我们提供哪些技巧和工具来帮助我们排除故障并监控ColdFusion 8和JRE的性能 我们目前正在做的事情:我们目前使用以下组合来帮助我们,但感觉我们没有真正取得任何进展。我希望能够有一个高峰进入JRE,看看发生了什么 /opt/coldfusion8/bin/cfstat /opt/coldfusion8/bin/logs/*(主要是exception.log和cfserver.log) ColdFusion调试输出(用于跟踪请求和查询响应时间) Apache“服务器状态”

问题:您可以为我们提供哪些技巧和工具来帮助我们排除故障并监控ColdFusion 8和JRE的性能

我们目前正在做的事情:我们目前使用以下组合来帮助我们,但感觉我们没有真正取得任何进展。我希望能够有一个高峰进入JRE,看看发生了什么

  • /opt/coldfusion8/bin/cfstat
  • /opt/coldfusion8/bin/logs/*(主要是exception.log和cfserver.log)
  • ColdFusion调试输出(用于跟踪请求和查询响应时间)
  • Apache“服务器状态”
  • MySQL管理员监视数据库活动
系统信息: 我们正在运行多个ColdFusion 8应用程序服务器。它们安装在RH Linux上,采用ColdFusion 8,0,1195765标准,使用安装程序附带的默认Sun JRE v1.6.0_04。我们的数据库位于专用数据库服务器上,在RH Linux上运行MySQL 5.0.45

问题: 我们遇到了一些奇怪的问题,例如:

  • 页面加载在浏览器加载页面的中途挂起(浏览器窗口保持全白色,不加载任何HTML)。如果停止请求并再次刷新,则第二次可以正常工作
  • 冷熔岩猛烈撞击。重新启动ColdFusion时,异常日志显示license.properties文件不正确。我们必须重新安装ColdFusion才能使其恢复工作
  • 开始在exception.log中看到“打开的文件太多”。我们按照有关如何更改可打开文件的限制的说明进行操作
额外信息

  • 我们开始在应用程序中使用memcached来减少数据库调用的数量,希望这能有所帮助
  • 我们将客户端存储改为注册表,而不是数据库,以测试不进行数据库调用是否有帮助
  • 我们计划将JRE更新到最新版本(1.6.0_14),看看这有什么帮助

我强烈建议您升级JRE,尤其是当您的应用程序大量使用cfc组件时。较旧的JRE版本中存在一个使对象创建速度变慢的bug

使用注册表在linux上不起作用。您只能使用数据库或cookies,但我不知道在linux上选择registry时ColdFusion会做什么。我建议将数据库用于客户端存储。请注意,如果您将cookie用于客户端存储,则用户可以修改其系统上的cookie

如果您有进一步的问题,可能是一个值得一看的工具


另外,请查看有关性能问题和客户端存储的更多信息。

关于它的价值(尽管我将您的帖子标记为“应移动到服务器故障”),我认为您应该从将客户端存储从注册表切换到数据库开始。正如中所指出的,使用数据库连接池,额外的数据库命中率相当低,并且在Linux上不支持使用注册表;“在UNIX系统上,注册表项保存在/opt/coldfusion/registry/cf.registry中,这是一个可以直接复制和编辑的文本文件。”我们将这样做。此外,我们正在研究MySQL优化,因为我们认为来自java的连接正在得到备份。@Jayson您建议使用哪一版本的JRE?@kevink,我在CF服务器上使用的是版本6更新14,尽管更新15可用并且应该可以正常工作。这可能更适合服务器管理员(而不是程序员),所以我将它标记为应该移动到服务器故障