JavaのAPを並列実行させるとは・・・
ちょっと前に「WEB+DB PRESS」で「GCによるボトルネックを解決する・・・」とかいう記事があったのですが、まあ、大量なデータやオブジェクトを扱う場合には悩ましい非機能要件なところだったりします。
超大量データを扱うバッチAPを並列効果(たとえばスレッド)で性能上げたいとかいうやつね。
まあ、古の時代と違ってリソース管理がVM まかせな分難しいともあるわけで、
GCとかについて、
http://msugai.fc2web.com/java/perform/storage.html
http://gihyo.jp/dev/serial/01/jvm-arc/0001
http://www.atmarkit.co.jp/ait/articles/0403/11/news096.html
http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
とか色々考えないといけないのですが、件の記事の結論的なものとしては、GCの対策トレードオフがあるので、Javaのプロセスを分割するとかいうものらしい。
Webとかだとサーブレットコンテナとかインスタンスを分けるとかよくあるね。
バッチとかだと、バッチフレームワークとの兼ね合いにもなるので、そんな都合の良いものあるかな~って感じですが。jBatch、Spring Batch、S2Chronos ・・・等
とまあ、色々情報を掘ってみる・・・
http://builder.japan.zdnet.com/sp_oracle/weblogic_2013/35038499/
http://www.bbreak.co.jp/technique/doc/terasoluna/TERASOLUNA_Batch.pdf
http://www.nri.com/jp/opinion/g_souhatsu/pdf/2013/gs201302.pdf
http://public.dhe.ibm.com/software/dw/jp/websphere/wxd/cg_batch_patterns/java_batch_patterns.pdf
http://www.atmarkit.co.jp/ait/articles/0807/16/news150.html
http://www.atmarkit.co.jp/ait/articles/1205/28/news126.html
http://www.atmarkit.co.jp/ait/articles/0804/17/news152.html
http://forza.cocolog-nifty.com/blog/2013/03/springhadoop-50.html
まあ、結論出ないわけですが、
件の記事と掛け合わせてみると、こんなのが意外と侮れないかも。
http://docs.oracle.com/cd/E21043_01/web.1111/b61388/jvm.htm#CHDJBAAA
ついでに
http://www.onjava.com/pub/a/onjava/2001/09/25/optimization.html
http://etc9.hatenablog.com/entry/20120601/1338574435
http://stackoverflow.com/questions/4301531/jvm-and-java-linux-process
http://techblog.hilife-jp.info/2012/12/jmx-java-monitoring/
0 件のコメント:
コメントを投稿