第 6 章 数据源和资源适配器调优

连接池是 JBoss EAP 用来优化使用数据源(如关系数据库或资源适配器)的环境的性能的主要工具。

分配并分配资源用于数据源和资源适配器连接的资源在时间和系统资源方面非常昂贵。连接池通过创建可供应用使用的连接池来降低连接成本。

在配置连接池以获得最佳性能前,您必须监控负载下的 数据源池统计信息 或资源适配器统计信息,以确定适合您的环境。

6.1. 监控池统计信息

6.1.1. Datasource Statistics

为数据源 启用 统计集合后,您可以查看数据源的运行时统计信息

6.1.1.1. 启用数据源统计信息

默认情况下 启用数据源统计。您可以使用 管理 CLI管理控制台 启用数据源统计信息收集。

使用管理 CLI 启用数据源统计信息

以下管理 CLI 命令启用 ExampleDS 数据源的统计信息收集:

注意

在受管域中,在此命令前加上 /profile=PROFILE_NAME

/subsystem=datasources/data-source=ExampleDS:write-attribute(name=statistics-enabled,value=true)

重新加载服务器以使更改生效。

使用管理控制台启用数据源统计信息

使用以下步骤,通过管理控制台为数据源启用统计信息收集。

  1. 导航到 ConfigurationSubsystemsDatasources & DriversDatasources
  2. 选择数据源并点击 View
  3. 单击 属性 选项卡下的 编辑
  4. Statistics Enabled 字段设置为 ON,再单击 Save。此时会出现一个弹出窗口,表示更改需要重新加载才能生效。
  5. 重新加载服务器:

    • 对于单机服务器,请单击弹出窗口中的 重新加载 链接,以重新加载服务器。
    • 对于受管域,单击弹出窗口中的 Topology 链接。从 Topology 选项卡中,选择相应的服务器,再选择 重新加载 服务器的重新加载选项。

6.1.1.2. 查看数据源统计信息

您可以使用 管理 CLI管理控制台查看 数据源的运行时统计信息。

使用管理 CLI 查看数据源统计信息

以下管理 CLI 命令检索 ExampleDS 数据源的核心 统计信息:

注意

在受管域中,在这些命令前加上 /host=HOST_NAME/server=SERVER_NAME

/subsystem=datasources/data-source=ExampleDS/statistics=pool:read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        "ActiveCount" => 1,
        "AvailableCount" => 20,
        "AverageBlockingTime" => 0L,
        "AverageCreationTime" => 122L,
        "AverageGetTime" => 128L,
        "AveragePoolTime" => 0L,
        "AverageUsageTime" => 0L,
        "BlockingFailureCount" => 0,
        "CreatedCount" => 1,
        "DestroyedCount" => 0,
        "IdleCount" => 1,
        ...
}

以下管理 CLI 命令检索 ExampleDS 数据源的 JDBC 统计数据:

/subsystem=datasources/data-source=ExampleDS/statistics=jdbc:read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        "PreparedStatementCacheAccessCount" => 0L,
        "PreparedStatementCacheAddCount" => 0L,
        "PreparedStatementCacheCurrentSize" => 0,
        "PreparedStatementCacheDeleteCount" => 0L,
        "PreparedStatementCacheHitCount" => 0L,
        "PreparedStatementCacheMissCount" => 0L,
        "statistics-enabled" => true
    }
}
注意

由于统计信息是运行时信息,因此务必指定 include-runtime=true 参数。

如需了解 所有可用统计数据的详细列表,请参阅数据源 统计信息。

使用管理控制台查看数据源统计信息

若要从管理控制台查看数据源统计信息,可从 Runtime 选项卡中导航到 Datasources 子系统,选择数据源,再单击 View

如需了解 所有可用统计数据的详细列表,请参阅数据源 统计信息。

6.1.2. 资源适配器统计信息

您可以查看已部署的资源适配器的核心运行时统计信息。有关所有可用 统计数据的详细列表,请参阅资源适配器统计信息附录

启用资源适配器统计信息

默认情况下 启用资源适配器统计。以下管理 CLI 命令为简单资源适配器 myRA.rar 启用统计集合,该适配器为 JNDI 绑定为 java:/eis/AcmeConnectionFactory

注意

在受管域中,在命令前加上 /host=HOST_NAME/server=SERVER_NAME/

/deployment=myRA.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/AcmeConnectionFactory:write-attribute(name=statistics-enabled,value=true)
查看资源适配器统计信息

资源适配器统计数据可以从管理 CLI 检索。以下管理 CLI 命令返回资源适配器 myRA.rar 的统计数据,其连接工厂在 JNDI 中绑定为 java:/eis/AcmeConnectionFactory

注意

在受管域中,在命令前加上 /host=HOST_NAME/server=SERVER_NAME/

deployment=myRA.rar/subsystem=resource-adapters/statistics=statistics/connection-definitions=java\:\/eis\/AcmeConnectionFactory:read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        "ActiveCount" => "1",
        "AvailableCount" => "20",
        "AverageBlockingTime" => "0",
        "AverageCreationTime" => "0",
        "CreatedCount" => "1",
        "DestroyedCount" => "0",
        "InUseCount" => "0",
        "MaxCreationTime" => "0",
        "MaxUsedCount" => "1",
        "MaxWaitCount" => "0",
        "MaxWaitTime" => "0",
        "TimedOut" => "0",
        "TotalBlockingTime" => "0",
        "TotalCreationTime" => "0"
    }
}
注意

由于统计信息是运行时信息,因此务必指定 include-runtime=true 参数。