从CF 8升级到CF2018后,ColdFusion经常崩溃

时间:2019-03-26 15:10:57

标签: coldfusion upgrade coldfusion-8 coldfusion-2018

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

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

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

有两种可能性:

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

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

答案 2 :(得分:0)

可能与会话有关。每次客户进入会话时,Coldfusion都会留下痕迹,并可能会根据您的cookie到期而保留一块内存。我猜您的服务器正在逐渐消耗内存。一种解决方案是减少客户端进入会话,而另一种解决方案是使用过时的CF解决方案(例如,将ram球状物添加到服务器中)。

根据您的网站需求,您可以添加一些代码来快速减少冗长的会话数。我已经使用了它,但它有帮助,但不会完全消除内存不足的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>