【问题标题】:ColdFusion 8 Performance & Load MonitoringColdFusion 8 性能和负载监控
【发布时间】:2009-08-04 16:13:18
【问题描述】:

问题:您可以向我们提供哪些提示和工具来帮助我们解决和监控 ColdFusion 8 和 JRE 的性能?

我们目前正在做什么:我们目前使用以下组合来帮助我们,但感觉我们并没有真正取得任何进展。我很想能够深入了解 JRE 看看发生了什么。

  • FusionReactor
  • /opt/coldfusion8/bin/cfstat
  • /opt/coldfusion8/bin/logs/*(主要是 exception.log 和 cfserver.log)
  • ColdFusion 调试输出(用于跟踪请求和查询响应时间)
  • Apache '服务器状态'
  • MySQL 管理员监控数据库活动

系统信息: 我们正在运行多个 ColdFusion 8 应用程序服务器。它们安装在带有 ColdFusion 8,0,1,195765 Standard 的 RH Linux 上,使用安装程序附带的默认 Sun JRE v1.6.0_04。我们的数据库位于专用数据库服务器上,在 RH Linux 上运行 MySQL 5.0.45。

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

  • 在浏览器加载页面的过程中页面加载挂起(浏览器窗口保持全白,未加载任何 HTML)。如果您停止请求并再次刷新,则第二次可以正常工作。
  • ColdFusion 严重崩溃。当我们重新启动 ColdFusion 时,异常日志显示 license.properties 文件错误。我们必须重新安装 ColdFusion 才能让它恢复工作。
  • 开始在 exception.log 中看到“打开的文件过多”。我们按照说明 here 了解如何更改可以打开的文件限制。

额外信息:

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

【问题讨论】:

  • 这可能更适合服务器管理员(而不是程序员),所以我将其标记为应该移至 ServerFault

标签: java performance coldfusion


【解决方案1】:

我强烈建议您升级 JRE,尤其是当您的应用程序大量使用 cfc 组件时。旧 JRE 版本中存在一个导致对象创建缓慢的错误。

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

如果您还有其他问题,Apache JMeter 可能是一个值得一看的工具。

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

【讨论】:

  • @Jayson “在 UNIX 系统上,注册表项保存在 /opt/coldfusion/registry/cf.registry 中,这是一个您可以直接复制和编辑的文本文件。” livedocs.adobe.com/coldfusion/8/htmldocs/sharedVars_09.html
  • 我们会这样做的。同样,我们正在研究 MySQL 优化,因为我们认为来自 java 的连接正在备份。
  • @Jayson 您推荐哪个版本的 JRE?
  • @kevink,我在我的 CF 服务器上使用版本 6 更新 14,尽管更新 15 可用并且应该可以正常工作。
【解决方案2】:

对于它的价值(即使我将您的帖子标记为“应该移至 ServerFault”),我认为您应该首先将客户端存储从注册表切换到数据库。正如your other question 中所指出的,使用数据库连接池,额外的数据库命中率相当低——并且在Linux 上不支持使用注册表;这应该为你抛出一个危险信号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 2014-09-09
    • 2015-10-22
    • 2010-12-21
    • 2016-08-10
    • 1970-01-01
    相关资源
    最近更新 更多