読者です 読者をやめる 読者になる 読者になる

Webエンジニア susumuis の技術ブログ

このブログの内容は個人の見解であり、所属する組織の公式見解ではありません

JVM Operation Casual Talks に参加してきました。

JVM Operation Casual Talks : ATND に参加してきました。

会場はLINE株式会社渋谷オフィス、ヒカリエの27階です。中も景色も綺麗ですね。

 

「カジュアルトーク」なんて言うものだから、きっと、どこかの「基礎勉強会」のような怖い勉強会であることを覚悟して行きました。僕みたいな現場で場当たり的にやってるエンジニアは刺されて来るのではないかと((((;゚Д゚))))ガクガクブルブル

 

コンテンツは

@stanaka15分でわかるJVMのメモリ管理

@oranieCassandra運用で実施しているJVM監視について

@waysakuSpray(Akka)運用でJVMをCPUスケールさせるために行った事

その後LTでした。

 

中でも、最初に発表された@stanakaさんのスライドが非常に網羅的に説明されていますので、JVMに関わる可能性がある方は一度目を通す価値があると思います。

 

さて、僕は、自分がJavaプログラマーとして開発したWebアプリケーションを自社のインフラチームと協力して、時にはGCオプションやインフラの調整を依頼し、時にはアプリのコード改修などを行える立場でJVMと接しています。一方、ここで発表された方々は、他人が作ったJVM上で動くアプリケーションを運用する立場の人たちでした。そういう意味ではうちのインフラチームの人たちに近い立場の方々ですが、自分でソースをいじることが容易ではない状況下での運用の苦しさもあるでしょう。

 

内容は意外と業務を通じて関わってきたことだったので、刺されるというよりは、みんな同じように苦労してるんだなと共感することが多かったです。

 

ちなみに、現時点の僕のうとい理解ではこんな感じです。

G1GC

トータルのGC時間は多く、一回あたりのGC時間が短い

6G、あるいは10GB以上のヒープサイズを割り当てている時に効果がある

Webなどの無停止で運用したいサービスで、メモリサイズが贅沢に割り当てられるときに有効

CMS

トータルGC時間が短い

コンパクションが無いため断片化する。長く無停止運用をすると遅くなる

バッチなど、トータルスループットが求められるときに有効

JVMオプションでのチューニングが必要(nekopさんのエントリを見るべし!)

 

ラストのパネルディスカッションのコーナーでは、なぜJVMを使うのかの問に対して、パネラーの皆さんは「使いたいアプリ(Hadoop、Solr、Cassandra等)がJVM上で動くから」とおっしゃっていました。特にPerlなどのLL出身の人には、GCでStop the Worldしたり、気軽に落とせないということが不満らしく、その反論として落ちないことが良い、という意見がありました。それに対し、いつ落ちてもいいように環境を構築するべきなど色々議論が深まりました。

 

僕にとっては、Javaでしか業務経験がなく、JVMを選択する理由としては「JVMが一番知っているから」というそれこそウルトラ消極的な理由しかありません。今回は、別のバックグラウンドがある人達がJVMに触れた感想を聞くことができたことは非常に有意義でした。

 

ちなみに、この発表の最中僕は下記の間違ったツイートをしたので訂正します。

既に削除していますが、Togetterに残ってしまっているのでごめんなさい。

PalallelGG => Compactionしないので時間が経つと遅くなる #jvmcasual そうなんだよね。

正しくはConcurrent Mark Sweep (CMS)の説明です。「そうなんだよね」とか知ったかもいい加減にです。orz

これは、うちのインフラチームの方がこの辺りチューニングして色々苦労していた話を聞いたので、このことかなと思ったのですが、後になって間違いに気づいた時には既にTogetterにまとめられていたので遅かったです。

 

写真

f:id:s-ishigami:20140408100444j:plain

ヒカリエオフィスエリアのエントランス(広っ!)

 

 

f:id:s-ishigami:20140408100210j:plain

 

 

 

27階景色いい

f:id:s-ishigami:20140408100408j:plain

 

 

入館証もLINE!退館時に返さないとこの会場が使えなくなるから!と言ってました。

f:id:s-ishigami:20140408100411j:plain

クリアファイル配ってました。