Sun Java System Identity Server 2004Q2 管理指南 |
第 2 章
Identity Server 微调脚本本章介绍 Sun Java System Identity Server 2004Q2 的 amtune 微调脚本,包含以下部分:
amtune 脚本amtune 脚本允许您微调 Identity Server 的性能,并优化 Identity Server 部署各组件的性能设置。
amtune 脚本是非交互式的。这意味着在运行脚本之前,必须在 amtune-env 配置文件中编辑参数以指定特定环境下要执行的微调。
要编辑微调增强功能,请在 amtune-env 文件中修改参数,然后以下列格式运行 amtune 脚本。其中 admin_password 是“Identity Server 管理客户机实用程序”口令,dirmanager_password 是“目录管理员”(cn=Directory Manager) 口令:
amtune admin_password dirmanager_password
如果要微调特定组件,可以使用 /amtune 目录中提供的组件脚本。组件脚本将使用 amtune-env 文件中的相关参数。可用组件脚本有:
- amntune-as7 - 此脚本微调 Sun Java System Application Server 7 Web 容器。
- amtune-identity - 此脚本微调安装的 Identity Server 实例。
- amtune-os - 此脚本微调 Solaris 操作系统 kernel 和 TCP/IP 参数。
- amtune-prepareDSTuner - 此脚本微调用于支持 Identity Server 的 Directory Server 实例。微调 Directory Server 需要执行额外级别的确认操作。Identity Server 要求在非独占模式下使用现有 Directory Server。无论将 Directory Server 安装在何位置(本地或远程),运行 amtune 时不会微调 Directory Server。运行脚本时,会创建名为 /tmp/amtune-directory.tar 的 tar 文件。默认情况下,将提取的文件存放在 /tmp 目录中。您需要从系统中运行 Directory Server 的机器上提取此文件,然后运行 amtune-directory 脚本。
- amtune-ws61 - 此脚本微调 Sun Java System Web Server 6.1 Web 容器。
例如,如果要微调操作系统,请使用以下格式:
amtune-os admin_password dirmanager_password
amtune 脚本及关联 amtune-env 文件可在以下目录中找到:
IdentityServer_base/SUNWam/bin/amtune (Solaris)
IdentityServer_base/identity/bin/amtune (Linux)
注
在本章中的余下部分将只给出 Solaris 目录信息。请注意 Linux 的目录结构有所不同。有关详细信息,请参见关于本指南。
amtune
amtune 脚本有两个生成模式;一个模式用于为 Identity Server 部署生成一组微调建议,一个模式用于实现微调规范。以下是用户可指定的模式,这些模式在 amtune-env 文件的 AMTUNE_MODE 参数中定义:
在任一模式下,微调建议列表和当前值都被写入 amtune 输出文件并显示在终端窗口中。此文件的位置基于 amtune-env 中的 AMTUNE_DEBUG_FILE_PREFIX 参数而定。
amtune-env 配置文件参数amtune-env 配置文件包含用于定义 Identity Server 部署的微调选项的参数。本部分介绍 amtune-env 参数。
amtune 参数
以下参数用于特定组件微调:
AMTUNE_MODE
此参数定义以下模式:
AMTUNE_MODE_OS
此参数微调 Solaris 操作系统 kernel 和 TCP/IP 设置。
AMTUNE_MODE_DS
此参数微调用于支持 Identity Server 的 Directory Server 实例。微调 Directory Server 需要执行额外级别的确认操作。Identity Server 要求在非独占模式下使用现有 Directory Server。无论将 Directory Server 安装在何位置(本地或远程),运行 amtune 时不会微调 Directory Server。运行脚本时,会创建名为 /tmp/amtune-directory.tar 的 tar 文件。默认情况下,将提取的文件存放在 /tmp 目录中。您需要从系统中运行 Directory Server 的机器上提取此文件,然后运行 amtune-directory 脚本。
AMTUNE_MODE_WEB_CONTAINER
此参数微调安装 Identity Server 的 Web 容器。
AMTUNE_MODE_IDENTITY
此参数微调安装的 Identity Server 实例。
以下参数用于所有 amtune 操作:
AMTUNE_DEBUG_FILE_PREFIX
此参数定义调试文件名前缀。如果将此参数设置为非空值,则会记录 amtune 脚本执行的所有操作。在 AMConfig.properties 的 com.iplanet.services.debug.directory 参数中设置日志文件的位置。
如果未指定值,则不记录调试信息,并将所有输出发送到 /dev/null 目录。
AMTUNE_PCT_MEMORY_TO_USE
此参数定义 Identity Server 所用的可用内存容量。目前,Identity Server 最少需要 512MB RAM,最多可需要 4 GB,即 32 位应用程序单进程地址空间上限。如果将此参数设置为 0(最低值),便意味将 Identity Server 配置为使用 512MB。相反,如果将此参数设置为 100,则 Identity Server 允许使用的最大空间是 4GB 与 100% 系统可用 RAM 之间的最小值。以下是基于此设置进行微调的文件中的一些值(完整列表请参见调试文件):
Web 容器值
server.xml 文件:
magnus.conf 文件:
Identity Server AMConfig.properties 值
通知线程池设置:
SDK 高速缓存最大容量设置:
会话设置:
AMTUNE_PER_THREAD_STACK_SIZE
此参数设置每个线程的可用栈空间。每个线程的栈大小用于微调 Identity Server 和 Web 容器中与线程相关的各种参数。默认值为 128KB。此值不能更改。
AMTUNE_SESSION_MAX_SESSION_TIME_IN_MTS
此参数设置最长会话时间(以分钟为单位)。默认值为 60。但是,对于不同的安装,此值可能不同。如果在任何其他级别注册和自定义“会话”服务,则不应用微调。
将此参数值设得太高或太低会影响 Identity Server 部署可支持的活动用户会话数,因此,可选择是否使用此参数进行调节。
为使用此参数,必须确保将 AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS 设置为 false。
AMTUNE_SESSION_MAX_IDLE_TIME_IN_MTS
此参数设置会话的最长空闲时间(以分钟为单位)。默认值为 10。但是,对于不同的安装,此值可能不同。如果在任何其他级别注册和自定义“会话”服务,则不应用微调。
将此参数值设得太高或太低会影响 Identity Server 部署可支持的活动用户会话数,因此,可选择是否使用此参数进行调节。
为使用此参数,必须确保将 AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS 设置为 false。
AMTUNE_SESSION_MAX_CACHING_TIME_IN_MTS
此参数设置最长会话高速缓存时间(以分钟为单位)。默认值为 2。但是,对于不同的安装,此值可能不同。如果在任何其他级别注册和自定义“会话”服务,则不应用微调。
将此参数值设得太高或太低会影响 Identity Server 部署可支持的活动用户会话数,因此对于微调而言,此参数是可选的。
为使用此参数,必须确保将 AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS 设置为 false。
安装环境参数
HOSTNAME
此参数定义部署 Identity Server 的系统的主机名。如果使用 hostname 命令无法获得环境的主机名,请将下行注释掉:
HOSTNAME='/bin/hostname'
然后添加一行,以设置正确的主机名。例如:
HOSTNAME=machine_name
DOMAINNAME
此参数定义部署 Identity Server 的系统的域名。如果使用 domainname 命令无法获得环境的域名,请将下行注释掉:
DOMAINAME='/bin/domainname'
然后添加一行,以设置正确的域名。例如:
DOMAINNAME=example.com
IS_CONFIG_DIR
此参数定义 Identity Server 的配置目录。默认位置为 IdentityServer_base/SUNWam/config。不要更改此参数。
WEB_CONTAINER
此参数定义部署 Identity Server 的 Web 容器的名称。此参数接受以下值:
使用其他值会产生验证错误。
CONTAINER_BASE_DIR
此参数定义部署 Identity Server 的 Web 容器的基本目录。如果将 Web 容器安装在非默认位置,请在运行 amtune 之前更改此值。
WEB_CONTAINER_INSTANCE_NAME
此参数定义部署 Identity Server 的 Web 容器的实例名称。
对于 Java System Web Server Web 容器,实例名称通常是 Identity Server 的主机名。如果实例名称与主机名不同,则需要在此处指定正确的实例名称。例如:
/opt/SUWwbsrvr/https-fully_qualified_hostname
在本例中,可以将 WEB_CONTAINER_INSTANCE_NAME 保留为原样,即:
WEB_CONTAINER_INSTANCE_NAME=$HOSTNAME
如果 Web Server 安装位置不是典型值,例如为 /opt/SUNWwbsrvr/https-instance1,则实例名称为 instance1。
WEB_CONTAINER_INSTANCE_NAME=instance1
对于 Application Server Web 容器,实例名称通常是 server1。例如:
/var/opt/SUNWappserver7/domains/domain1/server1/
在本例中,实例名称是安装位置的最后部分,即 server1。
如果 Application Server 安装位置不是典型值,比如,如果安装位置为 /var/opt/SUNWappserver7/domains/domain1/server-identity-ssl,则实例名称为 server-identity-ssl:
WEB_CONTAINER_INSTANCE_NAME=server-identity-ssl
IS_INSTANCE_NAME
确定安装 Identity Server 的属性文件的文件名时将使用此参数。同一台机器上可以部署多个 Identity Server 实例,但通常每个 Identity Server 实例都各有一组属性文件,并且会在这些文件的文件名后附加相应的实例名称。
如果一台机器上只有一个 Identity Server 实例,则不会在文件名后附加实例名称。
例如,可能会在 Web Server 的默认实例下运行单个 Identity Sever 实例:
如果在名为 server.example.com 的机器上安装 Identity Server,则 Web Server 的第一个实例通常为 https-server.example.com。第一个 Identity Server 实例的属性文件的文件名后不会附加实例名称(例如 AMConfig.properties)。
在有多个实例的情况下,会有不同的文件名。例如,可能会有三个 Web Server 实例。这三个 Web Server 实例分别是 server.example.com-instance1、server.example.com-instance2 和 server.example.com-instance3。如果部署三个 Identity Server 实例(每个容器实例对应一个 Identity Server 实例),则 Identity Server 的主属性文件的文件名(通常为 AMConfig.properties)可能与以下名称相仿:
可以指定 IS_INSTANCE_NAME=instance1。amtune 将按以下顺序确定属性文件的文件名:
该工具会在列表中搜索第一个可用属性文件并使用它。
对于 Web 容器,还需要在 Web 容器实例配置的 server.xml 配置文件中显式指定实例名称。例如:
<JVMOPTIONS>-Dserver.name=instance1</JVMOPTIONS>
CONTAINER_INSTANCE_DIR
此参数定义部署 Identity Server 的容器实例的基本目录。如果将 Web 容器安装在非默认位置,请在运行 amtune 之前更改此值。
Directory Server 参数
DIRMGR_UID
此参数定义“目录管理器”的用户 ID。如果更改用户 ID 的默认值 (cn=Directory Manager),则必须更改此参数的值。
DEFALUT_ORG_PEOPLE_CONTAINER
此参数定义顶级组织下的 Identity Server 实例的默认用户容器位置。此值用于微调 LDAP 验证服务的搜索基。搜索范围也将修改为对象级别,且默认搜索范围为子树级别。当默认组织中没有子组织时,此参数很有用。如果未指定参数值,则跳过微调。