Teamcenter应用服务器调优


1.服务器管理器全局池属性

全局池属性用于设置所有池的配置。这是利用并行 CPU 和内存资源运行 Teamcenter 服务器的有效选项。

全局池属性在 Web 应用程序管理器的Modify Context Parameter对话框中设置,并保存在globalPoolConfig.properties文件中。在insweb安装期间,此文件存储在lib\JETIServerAccessor.jar文件中的已部署 Web 应用程序 WAR 文件中。超时参数在所有池中全局设置。必须为每个池单独配置池大小参数。

笔记:

您可以在 Web 应用程序部署之前修改globalPoolConfig.properties文件并将其保存回.war文件。或者,如果您愿意,可以将修改后的文件直接放在 Web 应用程序服务器运行时环境的根目录中,并覆盖.war文件中的文件版本。例如,在WebLogic上,将修改后的文件放到目录中;在 WebSphere 上,将其放入配置文件目录;或在 JBoss 上,将其放入bin目录中。

以下来自globalPoolConfig.properties文件的摘录仅用于说明目的:

CACHE_CONFIG_PATH=TreeCacheTCP.xml 
PROCESS_MAX_PER_USER=0
QUERY_TIMEOUT=0
SOFT_TIMEOUT_EDIT=28800
SOFT_TIMEOUT_READ=28800
SOFT_TIMEOUT_STATELESS=1200
HARD_TIMEOUT_EDIT=28800
HARD_TIMEOUT_READ=28800
HARD_TIMEOUT_STATELESS=28800
USER_TIMEOUT_60STATELESS=0
ASSIGNMENTTIMEOUT60STATELESS= 0

因为该文件在insweb安装期间放置在已部署的 Web 应用程序 WAR 文件中,要覆盖这些值,可以重新运行insweb命令以在新的 WAR 文件中更新这些值。或者,可以将insweb暂存区域的副本放在 Java EE 应用程序服务器启动目录中。

如果这些超时很常见,您可能希望增加一些SOFT_TIMEOUT值的值以减少 CPU 开销。超时配置值以秒为单位。此外,尽管编辑软超时默认值为 7200 秒(两小时),但这种超时的后果会更高,并且可能还需要增加该值。

参数包括硬超时和软超时。

  • 软超时

    仅当服务器池中的服务器数量超过为池管理器配置的PROCESS_TARGET参数时才应用。

  • 硬超时

    无论服务器池的状态如何,始终应用。

超时参数可用于以下服务器模式。客户端在任何给定时刻控制其分配的服务器的模式。

  • 编辑模式

    当客户端(或用户)对尚未提交到数据库的服务器数据进行更新时,客户端可以将其服务器切换到此模式。如果服务器丢失,这些更改也会丢失。

    例如,结构管理器使用编辑模式允许用户通过更改服务器和客户端中的临时数据的多个操作来编辑 BOM 结构,直到用户保存数据。

  • 阅读模式

    当客户端的请求在服务器中设置了一个临时状态以供后续请求使用时,客户端可以将其服务器切换到此模式。如果服务器丢失,客户端可能需要重新启动,并且当客户端与新服务器保持一致时可能会出现性能问题,但不会丢失或损坏重要的用户工作。

    例如,富客户端的初始模式是读取模式。

  • 无状态模式

    这是服务器的默认模式。当没有请求依赖于先前请求对服务器所做的状态时,客户端使用此模式。如果服务器丢失,则可以在新服务器上执行下一个请求,除了分配新服务器的性能之外,不会出现功能问题。

    例如,Web 客户端是无状态的。

对于软超时和硬超时与三种模式中的每一种相结合的每种组合,都有一个超时参数。例如,当服务器池超过PROCESS_TARGET参数设置的值时, SOFT_TIMEOUT_EDIT参数适用于处于编辑模式的服务器

还有额外的超时参数:

  • USER_TIMEOUT_STATELESS

    以秒为单位配置服务器空闲时间。此超时适用于用户达到PROCESS_MAX_PER_USER值定义的限制后。

  • QUERY_TIMEOUT

    配置允许服务器处理单个请求的最长时间。如果超过此时间,则终止服务器。0关闭查询超时,允许服务器无限期地继续处理请求。

  • ASSIGNMENT_TIMEOUT

    完成服务器分配的超时(以秒为单位)。这包括服务器验证用户凭据和执行用户特定初始化的时间。

2.服务器管理器池特定的调整参数

调整服务器管理器配置以充分利用特定系统资源,以最大限度地提高服务器可用性,同时最大限度地减少资源。

每台机器都应该调整其特定于池的配置。如果每台机器的 CPU 数量和功率彼此之间存在很大差异,则这一点尤其值得关注。

池特定参数在TC_ROOT \pool_manager\confs\ configuration-name \serverPool.properties文件中设置。

以下参数很可能需要调整:

  • PROCESS_TARGET

    提供在计算机上运行的最少 Teamcenter 服务器数量的时间配置文件。

  • PROCESS_CREATION_DELAY

    确定启动每个附加TcServer进程以加入池之间的时间间隔(以毫秒为单位)。(该参数默认不会显式出现在文件中,但可以手动添加。)

  • PROCESS_MAX

    设置正在运行的 Teamcenter 服务器进程数的上限。

  • PROCESS_WARM

    设置预启动但未分配的 Teamcenter 服务器的所需数量。

附加参数提供以下信息。通常,默认设置就足够了,不需要额外的调整。其中许多参数默认情况下不会出现在文件中,但可以手动添加。

  • ACQUIRE_REENTRANT_LOCK_TIMEOUT

    确定管理器在尝试锁定有关服务器进程的内部数据对象时在放弃之前等待的时间量(以毫秒为单位)。默认设置为100

  • ASSIGNMENT_RETRY_LIMIT

    确定在返回错误之前为新的服务器分配更新TreeCache的尝试次数。默认设置为3

  • ASSIGNMENT_RETRY_WAIT_PERIOD

    确定为新的服务器分配重试TreeCache更新之前的延迟(以毫秒为单位)。默认设置为200

  • CACHE_CONFIG_PATH

    定义包含树缓存配置的文件。默认设置是TreeCacheTCP.xml

  • ENABLE_SERVER_HEARTBEAT

    确定是否启用服务器心跳。服务器心跳是从管理器发送到每个 Teamcenter 服务器的许可证心跳调用之间的时间(以秒为单位)。默认设置为0(关闭)。通过设置为任何非零值来启用心跳。

  • LOGINS_PER_MINUTE

    确定池每分钟允许的登录次数。默认设置为0(无限制)。

  • MAX_POOL_PROCESSING_INTERVAL

    确定任何给定的管理器处理线程在检查其他工作之前休眠的最长时间(以毫秒为单位)。默认设置为600000(10 分钟)。

  • MIN_POOL_PROCESSING_INTERVAL

    确定任何给定的管理器处理线程在检查其他工作之前休眠的最短时间(以毫秒为单位)。默认设置为1000

  • POOL_ID

    确定服务器池的 ID。默认设置为PoolA

  • PROCESS_READY_TIMEOUT

    确定经理在终止服务器进程之前等待 Teamcenter 服务器报告它已准备好的时间(以秒为单位)。默认设置为300

  • SERVER_EXECUTABLE

    指定tcserver可执行文件的路径。默认设置为TC_ROOT \bin\tcserver.exe

  • SERVER_HEARTBEAT_INTERVAL

    确定从管理器发送到每个 Teamcenter 服务器的许可证检测信号调用之间的时间(以秒为单位)。默认设置为720

  • SERVER_HOST

    定义 Teamcenter 服务器侦听连接的主机名(或 IP 地址)。存储和转发在具有多个网络接口的机器上很有用。默认情况下,此参数未设置,导致服务器从可用网络接口中选择任意网络接口。

  • SERVER_PARAMETERS

    定义启动 Teamcenter 服务器进程时提供的其他命令行参数。默认设置是-ORBNegotiateCodesets 0

  • SERVER_RETRY_LIMIT

    确定在放弃之前重试向 Teamcenter 服务器发送消息(例如,许可证检测信号)的次数。默认设置为2

  • SERVER_RETRY_WAIT_PERIOD

    确定向 Teamcenter 服务器发送消息时重试尝试之间的延迟(以毫秒为单位)。默认设置为1000

  • THREAD_POOL_INVOKING_SERVERS

    确定用于向 Teamcenter 服务器发送消息并在管理器中执行其他杂项任务的线程池的最大大小。默认设置为500