推荐的配置
描述 |
位置 |
配置属性 |
默认值/最小值 |
建议值 |
---|---|---|---|---|
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 |
|
定义用于在启动时检查最新执行情况的线程池的大小 |
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 |
定义数据库进程的最大已打开文件数量 |
数据库服务器主机 |
最大已打开文件数量: 例如,在 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 |
作业服务器端的最大预期并发已执行作业数量 |
MAX_CONCURRENT_LOGGED_USERS |
Talend Administration Center 端的最大预期并发已登录用户数量 (Talend Administration Center + Studio) |
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 同时运行作业数高峰值