【问题标题】:ColdFusion crashes frequently after upgrading from CF 8 to CF2018ColdFusion 从 CF 8 升级到 CF2018 后经常崩溃
【发布时间】:2019-06-30 18:56:48
【问题描述】:

从 ColdFusion 8 升级到 ColdFusion 2018 后,我们面临一些服务器经常崩溃的问题。

我们已经尝试了性能调整工具并修复了所有发现的问题。仍然每天至少崩溃 1 到 2 次。

我们通过更新字体修复了一些问题,例如字体丢失错误,并修复了 `coldfusion-out.log1 中发现的问题。

现在我们正在检查迭代、SQL 查询是否有可能出现 sql 超时或类似情况。

除此之外,我们还有什么特别需要做的来解决服务器关闭等问题吗?

【问题讨论】:

  • 下来是什么意思?崩溃了吗?
  • 是的。它的崩溃
  • 你能看看JVM是否做了核心转储......默认情况下,我认为JRE将它转储在这里/coldfusion2018/cfusion/bin,看起来像这样hs_err_pid123.log
  • 在崩溃之前是否会给您任何错误?它是否在崩溃之前运行特定页面或应用程序的一部分?

标签: coldfusion upgrade coldfusion-8 coldfusion-2018


【解决方案1】:

我的建议。尽快安装FusionReactor监控工具。这将告诉您是否已将请求排队或是否有其他事情发生。

这是我用过的最好的工具之一。

【讨论】:

    【解决方案2】:

    有两种可能:

    1) 您已更新 Coldfusion,但尚未更新您的数据库版本(特别是 oracle)。这可能会导致 CF 使用过时的连接器驱动程序,这可能会导致 DB 连接偶尔挂断,进而导致 CF 服务器无响应。如果是这种情况,更新您的数据库可以解决问题。

    2) 看看你是如何存储客户端变量的。如果它们存储在注册表中,服务器可能会间歇性地崩溃。如果您不使用任何客户端变量,最好将存储更改为数据库或无。请记住,客户端变量不会影响自动注销等会话活动。

    【讨论】:

    • 我们已经更新了 SQL SERVER 并且客户端变量存储在 SQL 数据库中。
    【解决方案3】:

    可能与会话有关。每次客户端进入会话时,Coldfusion 似乎都会留下足迹,并且可能会根据您的 cookie 过期时间保留一块内存。我猜你的服务器正在逐渐消耗内存。一种解决方案是减少客户端进入会话,另一种是古老的 CF 解决方案(例如,将内存块添加到您的服务器)。

    根据您网站的需要,您可以添加一些代码以快速减少冗长会话的数量。我用过它,它有帮助,但不会完全消除内存消耗量大的 CF 应用程序。

    <cfif (
    
    (NOT Len( cgi.http_user_agent )) OR
    REFind( "bot\b", cgi.http_user_agent ) OR
    Find( "crawl", cgi.http_user_agent ) OR
    REFind( "\brss", cgi.http_user_agent ) OR
    Find( "feed", cgi.http_user_agent ) OR
    Find( "news", cgi.http_user_agent ) OR
    Find( "blog", cgi.http_user_agent ) OR
    Find( "reader", cgi.http_user_agent ) OR
    Find( "syndication", cgi.http_user_agent ) OR
    Find( "coldfusion", cgi.http_user_agent ) OR
    Find( "slurp", cgi.http_user_agent ) OR
    Find( "google", cgi.http_user_agent ) OR
    Find( "zyborg", cgi.http_user_agent ) OR
    Find( "emonitor", cgi.http_user_agent ) OR
    Find( "jeeves", cgi.http_user_agent )
    )>
    
        <cfset THIS.name = "myWebsite_06302019">
        <cfset THIS.sessionManagement="Yes">
        <cfset THIS.sessiontimeout="#createtimespan(0,0,0,5)#"> 
        <!---<cfset THIS.sessioncookie.timeout = "7" >--->
        <cfset THIS.sessioncookie.timeout = "-1" >
    
    <cfelse>
        <cfset THIS.name = "myWebsite_06302019">
        <cfset THIS.sessionManagement="Yes">
        <cfset THIS.sessiontimeout="#createtimespan(0,0,180,0)#"> 
        <!---<cfset THIS.sessioncookie.timeout = "7" >--->
        <cfset THIS.sessioncookie.timeout = "#createtimespan(0,0,180,0)#" >
    </cfif>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 2019-05-12
      相关资源
      最近更新 更多