对于 Rational ClearQuest Web 的大型部署,可通过启用 Request Manager 的“自动重启”功能来提高服务可用性。
当前实例处理了指定数量的请求或者运行了指定的时间后,Request Manager“自动重启”功能会启动新的 Request Manager 实例。您可以通过分析性能退化的时间和原因,确定适当的阈值。
Registry Server 管理重新启动过程。当前的 Request Manager 实例达到其阈值时,Registry Server 将启动新实例以处理所有新会话,与此同时,当前实例在当前会话中处理请求。如果当前实例完成了处理请求,即会关闭(关闭前可能要等待当前会话终止或超时)。如果在新实例启动之后,仍有用户仍然处于登录状态或有会话处于挂起状态,那么 Registry Server 可以在指定的时间段后强制关闭当前的实例。您还可以配置 Registry Server 来监控 Request Manager 是否发生意外终止。如果 Registry Server 检测到 Request Manager 已意外终止,它将启动 Request Manager 的一个新实例。
以下部分提供 Request Manager“自动重启”功能的设置。您必须重新启动 Rational ClearQuest 服务器,以使属性更改生效。
缺省情况下,Request Manager 的“自动重启”功能已启用。要禁用此功能,请将文件 csm.properties 中的 ENABLE_RECYCLING 属性设置为 FALSE。 该文件安装在 <INSTALLATION ROOT>\clearquest\cqweb\csm.properties 中。 请注意,如果您禁用此功能,可能会影响 Request Manager 的可靠性和可用性。
缺省情况下,Request Manager 设置为每天凌晨 1:00 重新启动。要禁用基于时间的重新启动,请注释掉该属性。
您可以在 rmmanager.properties 文件的 TIME_CRITERIA 属性中指定其他时间间隔的格式:FREQUENCY|[HOURS][DAYS]|[TIME]。
将 FREQUENCY 指定为 HOURLY、DAILY 或 EVERYFEWDAYS。
TIME_CRITERIA=HOURLY|2
HOURLY 间隔必须大于 1。但是,如果您需要每小时重新启动 Request Manager 一次,则请联系 IBM Rational 客户支持。
TIME_CRITERIA=EVERYFEWDAYS|3|10:30 AM
如果要更改缺省值,则每天 EVERYFEWDAYS 间隔必须大于或等于 1。
TIME_CRITERIA=DAILY|1:00 AM
NUMBER_REQUEST_MANAGERS=2
要在 Request Manager 处理了指定数量的请求之后重新启动,在 <INSTALLATION_ROOT>\clearquest\cqweb\cqserver\config\rmmanager.properties 文件中设置 NUMBER_OF_REQUESTS_CRITERIA 属性。 缺省情况下,该属性是禁用的。
示例:
Request Manager 的两个实例在每个实例处理了 500,000 个请求后重新启动。
NUMBER_REQUEST_MANAGERS=2
NUMBER_OF_REQUESTS_CRITERIA=500000
同一时间内只可以存在两个 Request Manager 实例。有时候,即使 Request Manager 的当前实例达到了阈值,也可能由于有用户登录或会话暂挂而不会关闭。因为第一个实例达到了阈值,所以 Request Manager 的第二个实例开始处理新的请求。然而,如果第二个实例达到了阈值,但第一个实例仍然在运行中,新的实例将无法启动。
Request Manager 实例的启动和关闭是按顺序进行的。因此,即使 Request Manager 的第二个实例达到了指定的阈值并且没有活动的或暂挂的用户会话,第二个实例也只能在第一个实例关闭后关闭。如果将 ENABLE_FORCED_EXIT 属性设置为 TRUE,当第二个实例达到阈值时,Registry Server 会强制第一个实例关闭。一旦关闭了第一个实例,即可关闭第二个实例,随后可以启动新的实例并开始处理任意新请求。
缺省情况下,ENABLE_FORCED_EXIT 设置为 TRUE。该属性在 csm.properties 文件中。
您可以设置 Registry Server,让它在检测到 Request Manager 的当前实例已崩溃时,启动 Request Manager 的一个新实例。为此,请在文件 csm.properties 中将 ENABLE_MONITORING_FOR_CRASHES 属性设置为 TRUE。该属性的缺省值为 TRUE。如果您将属性设置为 FALSE,当 Request Manger 崩溃或退出时,不会启动新实例。但是,如果您在 ENABLE_RECYCLING 属性中禁用了“自动重启”功能,并将 ENABLE_MONITORING_FOR_CRASHES 设置为 TRUE,则在当前实例崩溃时,将会启动 Request Manager 的新实例。