Skip to content

Instantly share code, notes, and snippets.

@ksauzz
Created February 10, 2012 02:49
Show Gist options
  • Select an option

  • Save ksauzz/1785864 to your computer and use it in GitHub Desktop.

Select an option

Save ksauzz/1785864 to your computer and use it in GitHub Desktop.
akka memo

akkaメモ(ver 1.2)

並列処理

並列処理を行うためにはスレッド数(core-pool-size-factor, max-pool-size-factor)を増やした上でActorも複数生成する必要がある。 1つのActorは複数スレッドで同時に実行されることはない。

設定ファイル

akka.conf

Dispatcher設定

throughput

dispatcher毎のmessageのthroughput。 negative numberで無制限にメッセージを処理。

mailbox-capacity

メールボックス上限値。positive numberによってbounded-mailboxが利用される。

バッチ処理等で大量のメッセージ投入が発生する場合、 メッセージの処理が十分に早くなければmailboxが肥大化し、最悪の場合はOutOfMemoryが発生する。 この場合はbounded-mailboxを利用することでメモリリークの回避が可能である。

bounded-mailboxを使用するとcapacityを超えるメッセージのpushはブロックされ、mailboxに空きができるまでwait状態になる。 ただし、mailbox-push-timeout-time=-1を併用しないとメッセージのpushがタイムアウトしてメッセージがロストする。(タイムアウト例外は発生しない)

mailbox-push-timeout-time

メールボックスが上限値に達している場合、メールボックスへのメッセージ投入がwait状態になる。 このwait状態のタイムアウト時間。negative numberで永遠にwaitする.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment