Submit Search
Upload
NorikraのJVMチューンで苦労している話
•
29 likes
•
13,862 views
SATOSHI TAGOMORI
Follow
Technology
Report
Share
Report
Share
1 of 22
Download Now
Download to read offline
Recommended
運用に効く!JVMオプション三選
運用に効く!JVMオプション三選
Kazuhiro Oinuma
Batch processing and Stream processing by SQL
Batch processing and Stream processing by SQL
SATOSHI TAGOMORI
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
学 松崎
福岡Ruby会議01 20121201 LT
福岡Ruby会議01 20121201 LT
学 松崎
fukinfra Vol3 LT 20120629
fukinfra Vol3 LT 20120629
学 松崎
Jvm operation casual talks
Jvm operation casual talks
oranie Narut
More Related Content
What's hot
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
hiboma
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
maebashi
Gruntの罪と罰
Gruntの罪と罰
kamiyam .
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Akira Shimosako
早く家へ帰るための Grunt入門 [+gulp紹介]
早く家へ帰るための Grunt入門 [+gulp紹介]
Masayuki Maekawa
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春
Ryo Tomidokoro
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
Re: WebServer BenchMarking
Re: WebServer BenchMarking
Ryo Tomidokoro
Hashicorpツールズ
Hashicorpツールズ
Uchio Kondo
Pcapngを読んでみる
Pcapngを読んでみる
Yagi Shinnosuke
introduction of WalB
introduction of WalB
MITSUNARI Shigeo
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
泰 増田
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Junichi Ishida
わんくま東京#46 予告編
わんくま東京#46 予告編
Sunao Tomita
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
Yuuki Namikawa
What's hot
(20)
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
Rubyによるお手軽分散処理
Rubyによるお手軽分散処理
Gruntの罪と罰
Gruntの罪と罰
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
Java用O/Rマッピングソフトについて私が知っている二、三の事柄
早く家へ帰るための Grunt入門 [+gulp紹介]
早く家へ帰るための Grunt入門 [+gulp紹介]
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
PHP7実環境ベンチ2016春
PHP7実環境ベンチ2016春
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Re: WebServer BenchMarking
Re: WebServer BenchMarking
Hashicorpツールズ
Hashicorpツールズ
Pcapngを読んでみる
Pcapngを読んでみる
introduction of WalB
introduction of WalB
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
わんくま東京#46 予告編
わんくま東京#46 予告編
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
Viewers also liked
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Yuji Kubota
Landscape of Norikra features
Landscape of Norikra features
SATOSHI TAGOMORI
Stream processing and Norikra
Stream processing and Norikra
SATOSHI TAGOMORI
Log Analysis System And its designs in LINE Corp. 2014 early
Log Analysis System And its designs in LINE Corp. 2014 early
SATOSHI TAGOMORI
8 language deployments on GCE and GAE #gcpja
8 language deployments on GCE and GAE #gcpja
SATOSHI TAGOMORI
Fluentd: Data streams in Ruby world #rdrc2014
Fluentd: Data streams in Ruby world #rdrc2014
SATOSHI TAGOMORI
Dynamic Inventory: no more host lists!
Dynamic Inventory: no more host lists!
SATOSHI TAGOMORI
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
SATOSHI TAGOMORI
Viewers also liked
(8)
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Landscape of Norikra features
Landscape of Norikra features
Stream processing and Norikra
Stream processing and Norikra
Log Analysis System And its designs in LINE Corp. 2014 early
Log Analysis System And its designs in LINE Corp. 2014 early
8 language deployments on GCE and GAE #gcpja
8 language deployments on GCE and GAE #gcpja
Fluentd: Data streams in Ruby world #rdrc2014
Fluentd: Data streams in Ruby world #rdrc2014
Dynamic Inventory: no more host lists!
Dynamic Inventory: no more host lists!
Shib: WebUI tool provides crossover of Hive and MPP
Shib: WebUI tool provides crossover of Hive and MPP
More from SATOSHI TAGOMORI
Ractor's speed is not light-speed
Ractor's speed is not light-speed
SATOSHI TAGOMORI
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
SATOSHI TAGOMORI
Maccro Strikes Back
Maccro Strikes Back
SATOSHI TAGOMORI
Invitation to the dark side of Ruby
Invitation to the dark side of Ruby
SATOSHI TAGOMORI
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
SATOSHI TAGOMORI
Make Your Ruby Script Confusing
Make Your Ruby Script Confusing
SATOSHI TAGOMORI
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
SATOSHI TAGOMORI
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
SATOSHI TAGOMORI
Data Processing and Ruby in the World
Data Processing and Ruby in the World
SATOSHI TAGOMORI
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
SATOSHI TAGOMORI
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
SATOSHI TAGOMORI
Ruby and Distributed Storage Systems
Ruby and Distributed Storage Systems
SATOSHI TAGOMORI
Perfect Norikra 2nd Season
Perfect Norikra 2nd Season
SATOSHI TAGOMORI
Fluentd 101
Fluentd 101
SATOSHI TAGOMORI
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
SATOSHI TAGOMORI
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
SATOSHI TAGOMORI
How To Write Middleware In Ruby
How To Write Middleware In Ruby
SATOSHI TAGOMORI
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
SATOSHI TAGOMORI
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
SATOSHI TAGOMORI
Fluentd Overview, Now and Then
Fluentd Overview, Now and Then
SATOSHI TAGOMORI
More from SATOSHI TAGOMORI
(20)
Ractor's speed is not light-speed
Ractor's speed is not light-speed
Good Things and Hard Things of SaaS Development/Operations
Good Things and Hard Things of SaaS Development/Operations
Maccro Strikes Back
Maccro Strikes Back
Invitation to the dark side of Ruby
Invitation to the dark side of Ruby
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Make Your Ruby Script Confusing
Make Your Ruby Script Confusing
Hijacking Ruby Syntax in Ruby
Hijacking Ruby Syntax in Ruby
Lock, Concurrency and Throughput of Exclusive Operations
Lock, Concurrency and Throughput of Exclusive Operations
Data Processing and Ruby in the World
Data Processing and Ruby in the World
Planet-scale Data Ingestion Pipeline: Bigdam
Planet-scale Data Ingestion Pipeline: Bigdam
Technologies, Data Analytics Service and Enterprise Business
Technologies, Data Analytics Service and Enterprise Business
Ruby and Distributed Storage Systems
Ruby and Distributed Storage Systems
Perfect Norikra 2nd Season
Perfect Norikra 2nd Season
Fluentd 101
Fluentd 101
To Have Own Data Analytics Platform, Or NOT To
To Have Own Data Analytics Platform, Or NOT To
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
How To Write Middleware In Ruby
How To Write Middleware In Ruby
Modern Black Mages Fighting in the Real World
Modern Black Mages Fighting in the Real World
Open Source Software, Distributed Systems, Database as a Cloud Service
Open Source Software, Distributed Systems, Database as a Cloud Service
Fluentd Overview, Now and Then
Fluentd Overview, Now and Then
Recently uploaded
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
IGDA Japan SIG-Audio
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
sugiuralab
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG-Audio
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
honeshabri
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
iPride Co., Ltd.
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
Takayuki Nakayama
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
ssuserf8ea02
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
Naomi Yamasaki
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
yoshidakids7
チームで開発するための環境を整える
チームで開発するための環境を整える
onozaty
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
Hideki Saito
Recently uploaded
(12)
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
チームで開発するための環境を整える
チームで開発するための環境を整える
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
NorikraのJVMチューンで苦労している話
1.
NorikraのJVMチューンで 苦労している話 #jvmcasual JVM Operation
Casual Talks 2014/04/07 at LINE @tagomoris (TAGOMORI Satoshi) 14年4月7日月曜日
2.
TAGOMORI Satoshi (@tagomoris) LINE
Corp. Development Support Team 14年4月7日月曜日
3.
Schema-less Stream Processing with
SQL Norikra Schema-less Stream Processing with SQL 14年4月7日月曜日
4.
Norikraの特徴 JRuby (EsperというJavaのライブラリ使用) ストリーム処理エンジン メタデータの他はクエリ処理の中間状態のみ保持 全データがオンメモリ 入力データを大量に受け取っては破棄 再起動 →
中間状態を破棄 (基本的に不可能) 14年4月7日月曜日
5.
Norikraの現状 in LINE 一部サービスで本番運用中 Input:
ピーク時 最大 2500 events/seconds (∼10Mbps) 500,000,000 events (4/1∼) 1 norikra process 4 fluentd process (fluent-plugin-norikra) on a server 1CPU 4core (8 thread), 16GB RAM 14年4月7日月曜日
6.
Norikra in 2013
(0.1.0-0.1.2) 無防備状態 ほぼJVMデフォルト設定で運用 -Xmx4096m だけ 4ヶ月くらいは元気に動いてた 14年4月7日月曜日
7.
Norikra崩壊 年末年始の案件でトラフィック増 → Full GC
で帰ってこなくなる事件 とりあえずオプションを足してお茶を濁す -Xmx4096m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewRatio=4 http://qiita.com/harukasan/items/cc3eac01c917afc7cbde 14年4月7日月曜日
8.
とりあえず安定期 2014 early あれ? 割とえいやでやったけど動いてるぞ 忘却 14年4月7日月曜日
9.
Norikra崩壊 at 2014/03/06 OutOfMemoryError
?????????? 覚悟を決めてちゃんとモニタリングすることを決意 derived + jstat でメモリ状況のグラフ化 http://blog.nomadscafe.jp/2013/02/ derivedgrowthforecastpostjava.html 14年4月7日月曜日
10.
以後 毎週木曜 昼に死亡 火曜・木曜にトラフィックが多い が、なぜか木曜だけ死亡する???
ナンデ???? そもそもなんでold領域をそんなに使う??? 火曜 木曜 14年4月7日月曜日
11.
SoftRef なるものの存在 どうもそういうものがあるとold領域が使われるらし い、というあやふやな理解 http://www.oracle.com/technetwork/java/ hotspotfaq-138619.html#gc_softrefs 14年4月7日月曜日
12.
GCパラメータをいじる期 GC関連の情報にあたりながら試行錯誤 -Xmx4096m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewRatio=1 -XX:NewSize=2048m -XX:SurvivorRatio=2
-XX:MaxTenuringThreshold=10 -XX:TargetSurvivorRatio=80 -XX:SurvivorRatio=2 -XX:MaxTenuringThreshold=15 -XX:TargetSurvivorRatio=80 -XX:SoftRefLRUPolicyMSPerMB=200 14年4月7日月曜日
13.
結果 木曜昼を乗り切ったぞ! suv0/suv1 も使うようになったように見える! これで勝った!!!!! 14年4月7日月曜日
14.
結果 木曜昼を乗り切ったぞ! suv0/suv1 も使うようになったように見える! これで勝った!!!!! 13:07 xxxx:
今回キャンペーンの視聴数がそれぞれいつ もよりかなり少なかったみたいなので、イベント総数 としては先週より少なそうですね 14年4月7日月曜日
15.
神降臨 http://d.hatena.ne.jp/nekop/20140327/1395886237 “オブジェクトアロケーションが激しいようなアプリ ケーションでは92%だと手遅れになることがあるの でCMSInitiatingOccupancyFractionは下げたほうが良 い。70とか。” 14年4月7日月曜日
16.
ガッと変更 -Xmx4096m -Xms4096m -XX:+UseConcMarkSweepGC -XX:+UseCompressedOops -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -XX:NewRatio=1
-XX:NewSize=2048m -XX:SurvivorRatio=2 -XX:MaxTenuringThreshold=15 -XX:TargetSurvivorRatio=80 -XX:SoftRefLRUPolicyMSPerMB=200 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError 14年4月7日月曜日
17.
結果 stop the worldは0.2秒以下 14年4月7日月曜日
18.
雑感 old領域の使用率が高い状態でGCが走っても全部解放 できるところまで走らない (途中でやめちゃう) そもそもold領域の使用率が高い状態になる前に片を つけるのが重要? 同トラフィックをdev環境(仮想2cpu)に流したら stop the
world の時間が1秒近くに……良いCPU重要 保持しているデータが多いわけではないからG1GCは 不要? 14年4月7日月曜日
19.
Norikra 0.1.6以降 このあたりのJVM optionをデフォルト有効にして起動 作者にJVMの質問とかあんまりしてほしくない --gc-log
などのオプションを追加 ユーザ各位にも頑張っていただきたい めでたしめでたし 14年4月7日月曜日
20.
NorikraのJVMチューンで 苦労しているた話 #jvmcasual JVM Operation
Casual Talks 2014/04/07 at LINE @tagomoris (TAGOMORI Satoshi) 14年4月7日月曜日
21.
完 14年4月7日月曜日
22.
完? 14年4月7日月曜日
Download Now