调优对 LDAP 服务器的访问

配置池参数可提高对 LDAP 服务器的并发访问的性能。

对于 LDAP 存储库,virtual member manager 支持两种池机制:

连接池

连接池机制由 Java 运行时环境 (JRE) 在 Java 命名与目录接口 (JNDI) 层提供。

遵循以下步骤以针对 virtual member manager 中配置的每个 LDAP 存储库来启用或禁用连接池:
  1. 在 WebSphere Application Server 管理控制台中,单击安全 > 全局安全性
  2. 在“用户帐户存储库”下,从“可用领域定义”字段中选择联合存储库,然后单击配置
    注: 要在多安全域环境中为特定域进行配置,请单击安全域 > domain_name。 在“安全属性”下,展开用户领域,然后单击为该域进行定制。将领域类型选为联合存储库,然后单击配置
  3. 在“相关项”下,单击管理存储库 > repository_name
  4. 在显示的面板上的其他属性下,单击性能
  5. 选择或清除使用连接池选项。

有关访问此页面的信息,请阅读 WebSphere Application Server 信息中心中的提高联合存储库配置的性能

启用连接池后,使用连接池设置可指定 JNDI 层如何处理池。在管理控制台中,使用应用程序服务器 > server_name > 进程定义 > Java 虚拟机页面来配置 Java 虚拟机 (JVM) 设置,并指定通用 JVM 参数。 有关访问此页面的信息,请阅读 WebSphere Application Server 信息中心中的配置 JVM

这些设置会影响在服务器上运行的所有应用程序,而不仅仅是 virtual member manager。有关 JNDI 层用于配置池设置的属性的更多信息,请阅读 Sun Web 站点上的 Connect Pooling Configuration (http://java.sun.com/products/jndi/tutorial/ldap/connect/config.html)。

上下文池

Virtual member manager 使用上下文池机制来改善对 LDAP 服务器的并发访问的性能。

上下文池所运行的级别要高于连接池。上下文池中每个上下文条目都对应于 LDAP 服务器的一个套接字连接。配置 LDAP 存储库时,已指定此池使用的绑定凭证。

遵循以下步骤以针对 virtual member manager 中配置的每个 LDAP 存储库来启用或禁用连接池:
  1. 在 WebSphere Application Server 管理控制台中,单击安全 > 全局安全性
  2. 在“用户帐户存储库”下,从“可用领域定义”字段中选择联合存储库,然后单击配置
    注: 要在多安全域环境中为特定域进行配置,请单击安全域 > domain_name。 在“安全属性”下,展开用户领域,然后单击为该域进行定制。将领域类型选为联合存储库,然后单击配置
  3. 在“相关项”下,单击管理存储库 > repository_name
  4. 在显示的面板上的其他属性下,单击性能
  5. 选择或清除启用上下文池选项,然后为上下文池参数指定值

有关通过管理控制台配置上下文池的更多信息,请阅读 WebSphere Application Server 信息中心中的轻量级目录访问协议性能设置

您还可以使用 setIdMgrLDAPContextPool 命令来设置上下文池参数的值。有关设置上下文池参数的更多信息,请阅读 WebSphere Application Server 信息中心的 AdminTask 对象的 IdMgrRepositoryConfig 命令组的 setIdMgrLDAPContextPool 命令。

性能调优

由于上下文池具有与连接池相同的优点,因此不必启用连接池。缺省情况下,virtual member manager 中已禁用连接池。

同时启用上下文池和连接池并不会增加任何性能优势,相反,在执行并发认证时可能会产生不利影响。

大多数操作(例如,创建、搜索、更新或删除)是使用上下文池中的可用上下文 (DirContext) 来执行的。每个上下文与一个套接字连接相关联(当连接池已禁用时)。对于这些操作,virtual member manager 针对 LDAP 服务器打开的最大套接字数不会超过为“最大池大小”参数指定的值。

并发认证

Virtual member manager 不使用上下文池对用户进行认证,而是与认证用户的专有名称和密码进行绑定。当对其他用户进行认证时,这将强制 JNDI 层为每个认证创建一个新的套接字连接。如果已禁用连接池,那么在认证完成后,套接字会立即关闭。但是,如果已启用连接池,那么套接字会一直保持打开,直到它们超时。因此,如果应用程序执行并发认证,那么必须禁用连接池以避免 virtual member manager 针对 LDAP 服务器打开的套接字数超出服务器的能力。

Virtual member manager 打开用于所有操作(包括认证)的最大套接字连接数等于“最大池大小”中指定的值与并发认证数之和。例如,如果 250 个客户机同时登录并执行搜索,那么会打开 250 个套接字来执行认证,此外,还另外需要占用上下文池中的 250 个套接字来执行搜索。 此时的套接字总数会达到 500,但如果已禁用连接池,那么认证完成后,打开用于认证的 250 个新套接字会全部关闭。 如果已启用连接池,那么这 250 个新套接字会一直保持打开,直到它们超时。

上下文池的缺省值适用于大多数环境。使用以下上下文池设置进行性能调优(假定已禁用连接池):



使用条款 | 反馈