0

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

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

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

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

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

4

3 回答 3

1

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

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

于 2019-06-27T21:54:16.430 回答
0

有两种可能性:

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

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

于 2019-03-27T07:33:10.083 回答
0

它可能与会话相关。每次客户端进入会话时,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>
于 2019-06-30T10:56:48.610 回答