推奨される設定
[Description] (説明) |
ロケーション |
設定プロパティ |
デフォルト/最小値 |
推奨値 |
---|---|---|---|---|
Quartz接続プールにあるデータベース接続数の最大値 |
Talend Administration Center設定ファイル |
WEB-INF/classes/quartz.properties: org.quartz.dataSource.QRTZ_DS.maxConnections |
30 |
org.quartz.threadPool.threadCount + 3 |
Schedulerが処理する最大同時ジョブ数 |
Talend Administration Center設定ファイル |
WEB-INF/classes/quartz.properties: org.quartz.threadPool.threadCount |
30 |
MAX_CONCURRENT_TASK_EXECUTIONS + MAX_CONCURRENT_PLAN_EXECUTIONS |
(Quartzを除く)Talend Administration Centerの最大データベース接続数 |
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 |
多数のジョブが同時に実行されている場合に、ジョブの実行時間を短縮できるようスレッド数を定義します。 |
Talend Administration Centerデータベーステーブル 設定 |
remoteDataRetriever.threadPool.size |
30 | 同時に実行されるジョブ数のピーク値と同じ値。 詳細は、Improving Job execution timeセクションをご覧ください。 |
データベースプロセスの最大オープンファイル数を定義 |
データベースサーバーのホスト |
最大オープンファイル: 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 |
JobServerによって受け入れられる同時接続の最大数を定義 |
JobServer設定ファイル |
conf/TalendJobServer.properties: org.talend.remote.server.MultiSocketServer. MAX_CONCURRENT_CONNECTIONS |
1000 |
MAX_CONCURRENT_JOBS_EXECUTIONS x 2 |
変数 | [Description] (説明) |
---|---|
MAX_CONCURRENT_JOBS_EXECUTIONS |
Talend JobServer側での最大予想同時実行ジョブ数 |
MAX_CONCURRENT_LOGGED_USERS |
Talend Administration Center側の同時ログインユーザー数 ( Talend Administration Center + Talend 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 同時に実行中のジョブの最大量