Download
Desenvolver
Conta
Download
Desenvolver
Login
Forgot Account/Password
Criar Conta
Linguagem
Ajuda
Linguagem
Ajuda
×
Login
Nome de acesso
Senha
×
Forgot Account/Password
Estado tradução de Português
Category:
Software
People
PersonalForge
Magazine
Wiki
Pesquisa
OSDN
>
Pesquisar Software
>
System
>
TERASOLUNA Framework
>
Fóruns
>
Open Discussion
>
【バッチFW】
TERASOLUNA Framework
Descrição
Project Summary
Developer Dashboard
Página da Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Histórico
Downloads
List of Releases
Stats
Código Fonte
Code Repository list
Subversion
Visualizar Repositório
Tíquete
Ticket List
Milestone List
Type List
Lista de componentes
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
Fóruns
List of Forums
Open Discussion (1277)
Mailing Lists
list of ML
terasoluna-information
News
Fóruns:
Open Discussion
(Thread #20841)
Return to Thread list
RSS
【バッチFW】 (2008-12-01 20:23 by
Anônimo
#40352)
Responder
Criar tíquete
アプリケーションサーバでバッチデーモンを起動し、
上記のトランザクションモデルを使用するジョブを実行する場合、
スレッド数はいくつになりますか?計算式を教えてください。
templete/SequentialSingleTransactionBean.xml
次の計算式となることを予想していますが、なぜそのような数字になるのか判りません。
スレッド数 = 1 + 1 + Math.min(queueLengthの値, 実行ジョブ数*2*2)
Responder a #40352
×
Assunto
Body
Reply To Message #40352 > アプリケーションサーバでバッチデーモンを起動し、 > 上記のトランザクションモデルを使用するジョブを実行する場合、 > スレッド数はいくつになりますか?計算式を教えてください。 > > templete/SequentialSingleTransactionBean.xml > > 次の計算式となることを予想していますが、なぜそのような数字になるのか判りません。 > > スレッド数 = 1 + 1 + Math.min(queueLengthの値, 実行ジョブ数*2*2)
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-05 20:39 by
kuramotoki
#40449)
Responder
Criar tíquete
スレッド構成に関してですが、
アーキテクチャ説明書にもあるように、入力処理を行う(コレクタ)スレッド、
ビジネスロジックを実行する(ワーカ)スレッドの2スレッドが最低でも必要になります。
分割ジョブのスレッド構成は、ワーカ側がコレクタ+ワーカの構成をとるので、以下の式で
使用する最大スレッド数が表せます。
式A: 1(分割キー取得コレクタ)+2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度
バッチデーモンで通常ジョブを実行する場合は、以下の式で使用する最大スレッド数が表せます。
式B: 1(バッチデーモンのコレクタ)+2(実行ジョブの対象データ取得コレクタ+ワーカ)×同時実行ジョブ数
バッチデーモンで分割ジョブを実行する場合は、以下の式で使用する最大スレッド数が表せます。
式C: 1(バッチデーモンのコレクタ)+(1(分割キー取得コレクタ)+
2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度)×同時実行ジョブ数
templete/SequentialSingleTransactionBean.xmlを使用した場合ですが、仕様として
多重度=1に設定されていますので、
上記の式Cを用いると、以下のようになります。
1+(1+2×1)×同時実行ジョブ数=1+(1+2)×同時実行ジョブ数
queueLengthは使用するスレッド数の増減には関与しません。
また、バッチデーモンでの同時実行ジョブ数で使用されるワーカ側スレッドの上限
は、ThreadPoolContext-AsyncBatch.xmlで設定されていますので、
同時実行ジョブ数を増やしても、設定された上限を超えるスレッドは使用されませ
ん。
式Cをより厳密にあらわすと、以下になります。
式C’: 1(バッチデーモンのコレクタ)+1(分割キー取得コレクタ)×同時
実行ジョブ数+Min(2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度)×
同時実行ジョブ数, ThreadPoolContext-AsyncBatch.xmlでの設定数)
以上、よろしくお願いいたします。
Responder a
#40352
Responder a #40449
×
Assunto
Body
Reply To Message #40449 > スレッド構成に関してですが、 > アーキテクチャ説明書にもあるように、入力処理を行う(コレクタ)スレッド、 > ビジネスロジックを実行する(ワーカ)スレッドの2スレッドが最低でも必要になります。 > > 分割ジョブのスレッド構成は、ワーカ側がコレクタ+ワーカの構成をとるので、以下の式で > 使用する最大スレッド数が表せます。 > 式A: 1(分割キー取得コレクタ)+2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度 > > バッチデーモンで通常ジョブを実行する場合は、以下の式で使用する最大スレッド数が表せます。 > 式B: 1(バッチデーモンのコレクタ)+2(実行ジョブの対象データ取得コレクタ+ワーカ)×同時実行ジョブ数 > > バッチデーモンで分割ジョブを実行する場合は、以下の式で使用する最大スレッド数が表せます。 > 式C: 1(バッチデーモンのコレクタ)+(1(分割キー取得コレクタ)+ > 2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度)×同時実行ジョブ数 > > templete/SequentialSingleTransactionBean.xmlを使用した場合ですが、仕様として > 多重度=1に設定されていますので、 > 上記の式Cを用いると、以下のようになります。 > 1+(1+2×1)×同時実行ジョブ数=1+(1+2)×同時実行ジョブ数 > queueLengthは使用するスレッド数の増減には関与しません。 > > また、バッチデーモンでの同時実行ジョブ数で使用されるワーカ側スレッドの上限 > は、ThreadPoolContext-AsyncBatch.xmlで設定されていますので、 > 同時実行ジョブ数を増やしても、設定された上限を超えるスレッドは使用されませ > ん。 > > 式Cをより厳密にあらわすと、以下になります。 > 式C’: 1(バッチデーモンのコレクタ)+1(分割キー取得コレクタ)×同時 > 実行ジョブ数+Min(2(子ジョブの対象データ取得コレクタ+ワーカ)×多重度)× > 同時実行ジョブ数, ThreadPoolContext-AsyncBatch.xmlでの設定数) > > 以上、よろしくお願いいたします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-11 10:37 by
Anônimo
#40577)
Responder
Criar tíquete
解説ありがとうございました。
なお、分割ジョブにおいて、子ジョブの対象データ取得コレクタ(以降、コレクタ)とワーカが同一のスレッドプール内で動作しますね。
同時実行ジョブ数やパーティションキーの数が多いとき、プーリングされているスレッドすべてが、コレクタの処理に割り当てられてしまうと、ワーカがいつまで経っても起動しない場合があります。
コレクタとワーカを異なるスレッドプール内で動作させるなどの改善を検討されてはどうでしょうか?
Responder a
#40449
Responder a #40577
×
Assunto
Body
Reply To Message #40577 > 解説ありがとうございました。 > > なお、分割ジョブにおいて、子ジョブの対象データ取得コレクタ(以降、コレクタ)とワーカが同一のスレッドプール内で動作しますね。 > > 同時実行ジョブ数やパーティションキーの数が多いとき、プーリングされているスレッドすべてが、コレクタの処理に割り当てられてしまうと、ワーカがいつまで経っても起動しない場合があります。 > > コレクタとワーカを異なるスレッドプール内で動作させるなどの改善を検討されてはどうでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-11 16:31 by
kuramotoki
#40587)
Responder
Criar tíquete
現在は単一のスレッドプールでコレクタ/ワーカともに動作するようにしています。
スレッドプールのスレッド枯渇についてですが、
分割ジョブでパーティションキーが大量にある場合や、
非同期実行時に実行対象ジョブがジョブ管理テーブルに大量に登録されていたとしても、
多重度の2倍のスレッドをプールするので
ワーカがいつまでたっても起動しない場合はないと考えています。
プーリングされているスレッドすべてがコレクタの処理に割り当てられてしまう状況について、
こうするとコレクタに全スレッドが割り当てられてしまったという設定例がありましたらお教えいただければと思います。
以上、よろしくお願いいたします。
Responder a
#40577
Responder a #40587
×
Assunto
Body
Reply To Message #40587 > 現在は単一のスレッドプールでコレクタ/ワーカともに動作するようにしています。 > > スレッドプールのスレッド枯渇についてですが、 > 分割ジョブでパーティションキーが大量にある場合や、 > 非同期実行時に実行対象ジョブがジョブ管理テーブルに大量に登録されていたとしても、 > 多重度の2倍のスレッドをプールするので > ワーカがいつまでたっても起動しない場合はないと考えています。 > > プーリングされているスレッドすべてがコレクタの処理に割り当てられてしまう状況について、 > こうするとコレクタに全スレッドが割り当てられてしまったという設定例がありましたらお教えいただければと思います。 > > 以上、よろしくお願いいたします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-11 17:12 by
Anônimo
#40589)
Responder
Criar tíquete
アプリケーションサーバによってはプールするスレッドの数が決められていて、ThreadPoolContext-AsyncBatch.xmlで設定しているプールサイズを確保できない場合があります。
次のようなケースです。
- アプリケーションサーバでのプールサイズ=10
- バッチデーモンの多重度(multiplicity)=8
- 同時に実行するジョブ数(分割ジョブ)=64
- 各ジョブのパーティションキーの個数=3
このとき、スレッドプールの全スレッドがコレクタに割り当てられてしまう場合があるのではないでしょうか?
# WebLogic Serverだと、ThreadPoolContext-AsyncBatch.xmlの設定が、アプリケーションサーバに反映されるのでしょうか?
Responder a
#40587
Responder a #40589
×
Assunto
Body
Reply To Message #40589 > アプリケーションサーバによってはプールするスレッドの数が決められていて、ThreadPoolContext-AsyncBatch.xmlで設定しているプールサイズを確保できない場合があります。 > > 次のようなケースです。 > > - アプリケーションサーバでのプールサイズ=10 > - バッチデーモンの多重度(multiplicity)=8 > - 同時に実行するジョブ数(分割ジョブ)=64 > - 各ジョブのパーティションキーの個数=3 > > このとき、スレッドプールの全スレッドがコレクタに割り当てられてしまう場合があるのではないでしょうか? > > # WebLogic Serverだと、ThreadPoolContext-AsyncBatch.xmlの設定が、アプリケーションサーバに反映されるのでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-11 17:48 by
kuramotoki
#40592)
Responder
Criar tíquete
おっしゃる状況ですと、たしかにWebアプリケーションサーバのスレッドが枯渇した結果スレッド待ちの状態になり固まる可能性があります。
このような状況はBatchFW内部のスレッド制御において
コレクタとワーカのスレッドを分離したとしても、
必要なスレッド総数を確保できないことにはかわらないので、
結局ご提示いただいた問題は解消しないと考えますがいかがでしょうか。
Webアプリケーションサーバの最大スレッド数設定の問題になるかと思います。
Responder a
#40589
Responder a #40592
×
Assunto
Body
Reply To Message #40592 > おっしゃる状況ですと、たしかにWebアプリケーションサーバのスレッドが枯渇した結果スレッド待ちの状態になり固まる可能性があります。 > > このような状況はBatchFW内部のスレッド制御において > コレクタとワーカのスレッドを分離したとしても、 > 必要なスレッド総数を確保できないことにはかわらないので、 > 結局ご提示いただいた問題は解消しないと考えますがいかがでしょうか。 > > Webアプリケーションサーバの最大スレッド数設定の問題になるかと思います。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-11 20:58 by
Anônimo
#40598)
Responder
Criar tíquete
コレクタ用とワーカ用それぞれにスレッドプールを用意することにより、ワーカが確実に回るようになるのではないでしょうか?
Responder a
#40592
Responder a #40598
×
Assunto
Body
Reply To Message #40598 > コレクタ用とワーカ用それぞれにスレッドプールを用意することにより、ワーカが確実に回るようになるのではないでしょうか?
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar
RE: 【バッチFW】 (2008-12-17 12:30 by
kuramotoki
#40710)
Responder
Criar tíquete
WebLogicのワークマネージャを別にすることになるかと思いますが、現時点では最終的にWebLogicのスレッドの設定に関する問題になると考えています。
ご指摘の点については今後改善できるか否かについては検討させてください。
以上です。
Responder a
#40352
Responder a #40710
×
Assunto
Body
Reply To Message #40710 > WebLogicのワークマネージャを別にすることになるかと思いますが、現時点では最終的にWebLogicのスレッドの設定に関する問題になると考えています。 > ご指摘の点については今後改善できるか否かについては検討させてください。 > 以上です。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Pré-visualizar
Post
Cancelar