Sun Java System Communications Express 6.3 管理指南

第 8 章 Communications Express 中的性能调节和负载平衡机制

本章介绍了提高 Communications Express 性能的相关信息。

Communications Express 中的 LDAP 故障转移机制

本节介绍了如何设置和配置 LDAP 池以及设置 LDAP 连接来提高 Communications Express 的效率。一些 Communications Express 组件需要连接到 LDAP 服务器来检索和管理信息。如果登录的用户非常多,则与 LDAP 服务器建立连接及从中检索信息可能会需要很长时间。如果创建了 Communications Express 可以使用的 LDAP 连接池,则可以缩短建立连接及检索信息的周转时间。

在典型的 Communications Express 生产环境中,可以采用 LDAP 负载平衡和故障转移机制。其中,一台 LDAP 服务器(称为主服务器)负责检索信息,另外一组服务器(称为故障转移服务器)在出现故障(即主服务器出现故障)时使用。这样,可以避免出现单一故障点。

Communications Express 包含一个 LDAP 故障转移管理器模块,它负责从主服务器或从属服务器中检索连接。每个负载平衡服务器都维护一个可用空闲连接池。每当 Communications Express 组件需要连接到 LDAP 服务器时,LDAP 故障转移管理器就会为该组件提供 LDAP 连接池中的连接。

Procedure针对 LDAP 故障转移配置 Communications Express

要配置 Communications Express 以创建 LDAP 故障转移管理器,需要在 uwcauth.properties 文件中设置一些参数。

  1. 转到 uwc-deploy-path/WEB-INF/config/ 目录。

  2. 编辑 uwcauth.properties 文件并设置以下参数。

    • ldapusersession.ldapport:将此参数设置为 LDAP 服务器使用的端口。

    • ldapusersession.ldaphost:将此参数设置为 LDAP 服务器名称的 LDAP 主机列表。这可以是用逗号分隔的列表。如果 LDAP 服务器使用的是非默认端口,可以用逗号指定该项。例如,host1, host2:1290, host3, host4:2546。其中,host1host3 使用的是默认端口,而 host2host4 使用的是非默认端口。

  3. 重新启动在其中部署 Communications Express 的 Web 容器。

压缩 Communications Express 的服务器响应

在网络密集型生产方案(传输大量数据)中,可以通过启用服务器响应压缩来提高性能。这样,可以压缩数据并通过网络传送,从而提高性能。

要启用服务器响应压缩,应该在 uwcconfig.properties 文件中设置 uwc.gzip.compression 参数。

uwcconfig.properties 文件中,将 uwc.gzip compression 参数值设置为 true 即可启用服务器响应压缩。

例如 uwc.gzipcompression = true,然后重新启动在其中部署 Communications Express 的 Web 容器。

设置会话超时

用户登录到 Communications Express 时,会在服务器端为该用户创建会话。该会话包含有关每个用户的数据,并在服务器端进行维护。同时有大量用户登录时,可能需要一些资源来管理会话数据。通过将会话的 session-timeout 设置为最佳值并关闭长时间处于打开或非活动状态的未使用会话,可以提高性能。

要自定义 Communications Express 的会话超时,请编辑 uwc-deploy-dir/WEB-INF 目录中的 web.xml 文件。此 XML 文件包含具有属性 session-timeout 的 XML 标记 session-config。此属性用于定义会话超时(以分钟为单位)。可将 session-timeout 属性值更改为所需值。

例如,以下示例将 session-time-out 定义为 10 分钟:


<session-config>
    <session-timeout>10</session-timeout>
 </session-config>

调节 LDAP 的相关配置参数

本节介绍了可以对 Directory Server 进行哪些调节以提高性能。

设置用户和通讯录的 nsSizeLimitnsLookthroughLimit 参数

为了能够正确完成搜索,用户或组 LDAP 目录和 Address Book Server 配置中的 nsSizeLimitnsLookthroughLimit 参数一定要足够大。

要确定是否为这些参数设置了适当的值,请键入以下命令:

ldapsearch -b /base/ (&(icscalendarowned=*/user/*)(objectclass=icsCalendarUser))

其中

/base/ 是 Calendar Server 的用户和资源数据所在的 Directory Server 的 LDAP 基本 DN。

/user/ 是最终用户可以在 Communications Express 中“订阅”选项下的“日历搜索”对话框中输入的值。

如果 nsSizeLimitnsLookthroughLimit 参数不够大,LDAP 服务器会返回错误。

请按照以下原则重置 nsSizeLimitnsLookthroughLimit 参数:


注 –

建议分别设置 LDAP 中的用户或组条目和通讯录条目。


调节 Web Server

要提高 Web Server 的性能,请执行本节介绍的步骤。

设置 acceptorthreads

server.xml 中,将 <vs\>(虚拟服务器)元素中的 acceptorthreads 属性值更改为托管 Web Server 的计算机上的 CPU 数。

例如:


<VS id="https-siroe.com" 
				connections="ls1" 
				mime="mime1"aclids="acl1" 
				urlhosts="<webserver hostname"
							acceptorthreads="<noofcpus\>" \>

         

设置 JVM 选项

在 Web Server 的 server.xml 文件中添加或设置以下 JVM 选项:

以下参数确定 JVM 的堆大小:

第一个选项表示最大堆大小,第二个选项表示最小堆大小

建议为这两个选项设置相同的值。

添加以下 JVM 选项

JVMOPTIONS-server/JVMOPTIONS

设置以下垃圾收集参数:

调节 Calendar Server

本节介绍了在 Calendar Server 上的多个 CPU 之间使用负载平衡是如何提高性能的。

在多个 CPU 之间使用负载平衡

如果服务器有多个 CPU,则默认情况下,Calendar Server 会在这些 CPU 之间分配 HTTP 服务(如 cshttpd 进程)和分布式数据库服务(如 csdwpd 进程)。

ics.conf 文件中的 service.http.numprocessesservice.dwp.numprocesses 参数确定运行的每个服务的实际进程数。默认情况下,在安装期间会将这些参数设置为服务器的 CPU 数,但可以重置这些值。例如,如果服务器有 8 个 CPU,但希望只使用 4 个 CPU 运行 cshttpdcsdwpd 进程,可以将这些参数设置为:

service.http.numprocesses="4"

service.dwp.numprocesses="4"

Procedure禁用负载平衡

  1. service.loadbalancing 参数添加到 ics.conf 文件中。

  2. service.loadbalancing 设置为 "no"。

  3. 重新启动 Calendar Server 以使更改生效。

    有关负载平衡的信息,请参阅《Sun Java System Calendar Server 6.3 Administration Guide》中的附录 C “Calendar Server Configuration Worksheet”