跳到主要内容

推荐的配置

描述

位置

配置属性

默认值/最小值

建议值

Quartz 连接池中的最大数据库连接数量

Talend Administration Center 配置文件

WEB-INF/classes/quartz.properties:

org.quartz.dataSource.QRTZ_DS.maxConnections

30

org.quartz.threadPool.threadCount + 3

调度器处理的并发作业的最大数量

Talend Administration Center 配置文件

WEB-INF/classes/quartz.properties:

org.quartz.threadPool.threadCount

30

MAX_CONCURRENT_TASK_EXECUTIONS + MAX_CONCURRENT_PLAN_EXECUTIONS

Talend Administration Center 的最大数据库连接数量(Quartz 除外)

Talend Administration Center 配置文件

WEB-INF/classes/configuration.properties:

hibernate.c3p0.max_size

32

MAX_CONCURRENT_TASK_EXECUTIONS + MAX_CONCURRENT_PLAN_EXECUTIONS + MAX_CONCURRENT_LOGGED_USERS

定义两次远程作业检查之间的时间间隔

Talend Administration Center 数据库表配置

scheduler.conf.taskStatusRefreshTime

1

  • if MAX_CONCURRENT_TASK_EXECUTIONS < 20: scheduler.conf.taskStatusRefreshTime = 1
  • if MAX_CONCURRENT_TASK_EXECUTIONS > 20: scheduler.conf.taskStatusRefreshTime = MAX_CONCURRENT_TASK_EXECUTIONS /20

定义用于在启动时检查最新执行情况的线程池的大小

Talend Administration Center 数据库表配置

dashboard.conf.taskExecutionsHistory.threadPoolSize

10

( MAX_CONCURRENT_TASK_EXECUTIONS + MAX_CONCURRENT_PLAN_EXECUTIONS ) / 25

定义用于在启动时检查所有任务的线程池的大小

Talend Administration Center 数据库表配置

scheduler.conf.simultaneousThreadsForStatusRefresh

5

MAX_CONCURRENT_TASK_EXECUTIONS / 50

定义当多个作业同时运行时,用于提高作业执行时间的线程数

Talend Administration Center 数据库表配置

remoteDataRetriever.threadPool.size

30 与同时运行的作业的峰值数量相同的值。

更多详细信息,请参阅改进作业执行时间部分。

定义数据库进程的最大已打开文件数量

数据库服务器主机

最大已打开文件数量:

例如,在 Linux 中,设置 MySQL 配置属性 open_files_limit,并确保系统文件限制 >= 右侧的公式

(取决于操作系统)

( MAX_CONCURRENT_TASK_EXECUTIONS + MAX_CONCURRENT_PLAN_EXECUTIONS + MAX_CONCURRENT_LOGGED_USERS ) x 3

定义允许与数据库建立的最大连接数量

数据库服务器

最大连接数量:

例如,设置 MySQL 配置属性 max_connections = 10000

(取决于数据库供应商)

(org.quartz.dataSource.QRTZ_DS.maxConnections + hibernate.c3p0.max_size) x 1.2

定义作业服务器接受的最大并发连接数量

作业服务器配置文件

conf/TalendJobServer.properties:

org.talend.remote.server.MultiSocketServer.

MAX_CONCURRENT_CONNECTIONS

1000

MAX_CONCURRENT_JOBS_EXECUTIONS x 2

变量的定义
变量 描述

MAX_CONCURRENT_JOBS_EXECUTIONS

Talend JobServer 端的最大预期并发已执行作业数量

MAX_CONCURRENT_LOGGED_USERS

Talend Administration Center 端的最大预期并发已登录用户数量 (Talend Administration Center + Studio Talend)

MAX_CONCURRENT_PLAN_EXECUTIONS

Talend Administration Center 端的最大预期并发计划执行次数

MAX_CONCURRENT_TASK_EXECUTIONS

Talend Administration Center 端的最大预期并发任务执行次数

如果这些属性配置不当,可能会出现性能问题。

以下属性对性能和内存消耗的影响最大。默认值为:

  • hibernate.c3p0.max_size=32
  • org.quartz.threadPool.threadCount = 30
  • org.quartz.dataSource.QRTZ_DS.maxConnections = 30

如果同时运行的任务少于 10 个,默认值有效。

如果您有更多的任务,您可以通过以下公式找到最佳的 org.quartz.threadPool.threadCount

org.quartz.threadPool.threadCount = 3 x 同时运行作业数高峰值

您不需要太多的冗余线程,因为每个线程都会消耗内存。

连接的数量取决于 Talend Administration Center 与数据库服务器交互的速度以及同时运行的作业数量。

数据库连接总数 = org.quartz.threadPool.threadCount + hibernate.c3p0.max_size

数据库连接的总数不能超过服务器上配置的数量,例如在 MySQL 中,为 150。最佳连接数量也可以通过以下公式计算得出:

org.quartz.dataSource.QRTZ_DS.maxConnections = 3 x 同时运行作业数高峰值

hibernate.c3p0.max_size=3 x 同时运行作业数高峰值

某些情况下如果数据库连接没有时延,您还可以用下列公式进行计算:

org.quartz.dataSource.QRTZ_DS.maxConnections = 2 x 同时运行作业数高峰值

hibernate.c3p0.max_size=2 x 同时运行作业数高峰值

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!