SlideShare una empresa de Scribd logo
1 de 92
Descargar para leer sin conexión
人気番組との戦い!

Javaシステムのパフォーマンス チューニング奮闘記
Shin Tanimoto

Acroquest Technology Co., LTD
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2
満員御礼! ありがとうございます!!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
自己紹介
3
• 谷本 心 (Shin Tanimoto)
- Acroquest Technology株式会社
- 開発&トラブルシュート教育
- JavaOneスピーカー
- JJUG / 関ジャバ / S2JSFコミッタ
- Twitter : @cero_t (日本語)
- Facebook : shin.tanimoto (英語)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4
Java Performance: The Definitive Guide
日本語版、

オライリーブースで

先行販売中!!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
先ほどまで

サイン会してました!
5
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
6
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
7
たぶん、ほぼほぼ

寺田さんの

サイン希望者ですけどね!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
8
ところで、いま

Javaパフォーマンス本

をググった人?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9
そう、PC・スマホの時代。

視聴者は気になったものを

すぐにググル。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10
どれぐらいの人が?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
11
たとえば、視聴率8%の

あの番組に

超潜入されたとすると。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
12
127,000,000 (人)

* 0.08 (視聴率)

≒10,000,000 (人)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
13
10,000,000 (人)

* 0.01 (検索する率)

* 6 (一人あたりの検索回数)

≒ 600,000 (回)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14
仮に10分間で来るとすれば

60,000回/分

1,000回/秒
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15
最大同時100アクセス/秒

ぐらいのキャパだと、

これは捌けないわけですよ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
16
じゃ、どうするの?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
17
スケーラビリティ重要

ピーキー対応重要

ということは・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
18
そう、AWS!!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
19
って現実、そんなに

甘くないんだよ!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
20
そのシステム、スケールするの?
あと、関連システムを含めて

全部AWSに持って行くの?

誰がやるの? 死ぬの?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21
誰しもが、すぐAWSに

移行できるわけではない。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
22
では、

いま動いているシステムを

どうやって

改善すれば良いのか?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
23
0. 問題の定義
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
0. 問題の定義
対象
人気宿泊施設の予約システム
いま、そこで、実際に動いているシステム

→ 早く治したい、すぐ治したい、いま治したい!
問題点
TV放送のたびにシステムダウンする

→ 予約しようとした人が諦める。
24
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
0. 問題の定義
問題の原因
APサーバ側の問題?
DBサーバ側の問題?
ネットワークの問題?

→ どこにボトルネックがあるかは不明
25
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
0. 問題の定義
26
さて、あなたなら

どうする?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
27
1. アクセス数の制限

2. 問題箇所の性能改善

3. ログ収集と可視化
4. インフラの改善
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
28
全部、順番にやろう!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
29
1. アクセス数の制限

2. 問題箇所の性能改善

3. ログ収集と可視化
4. インフラの改善
暫定対処

低コスト
根本解決

高コスト
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
30
1. アクセス数の制限
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. アクセス数の制限
31
アクセスを捌けないなら

ブロックすればいいのよ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. アクセス数の制限
32
APサーバへのアクセス数が

閾値を越えたら

503エラーを返すServletFilter

を適用。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. アクセス数の制限
33
※ただし予約処理に

進んでいる人は除く
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. アクセス数の制限
34
これでサーバが落ちる頻度は

グッと下がった。

ただし、キャパシティも

スループットも低いまま。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
35
2. 問題箇所の性能改善
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
36
事件は現場で

起きてるんだ!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
37
商用環境で実際に起きている
パフォーマンス問題に対して

どうアプローチするか?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
どこに問題があるのか?
1. APサーバのCPU使用率測定
top

2. APサーバのスレッドダンプ取得(遅い時に複数回)
jstack <PID>

3. DBサーバのCPU使用率測定
top
38
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
APサーバのCPU使用率が高い場合
1. スレッドごとのCPU使用率を取得
top -H
ps auxww -L | grep java

→重いスレッドのスレッドID(10進数)を確認
スレッドダンプのスレッドID(16進数)と対応させて絞り込み
2. 重い処理が「VM Thread」以外の場合
スタックトレースに表れている処理が問題箇所。
3. 重い処理が「VM Thread」の場合
GCが頻発している可能性あり(次ページへ)
39
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
GCが頻発している可能性がある場合
ヒープの使用状況、GCの発生回数を確認する
jstat -gc <PID> 1000
OC : Old領域のキャパシティサイズ
OU : Old領域の利用サイズ
FGC : フルGCの回数
40
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
APサーバのCPU使用率が低い場合
何度か取得したスレッドダンプから、

頻出するメソッドを特定する。

DPサーバのCPU使用率が高い場合
何度か取得したスレッドダンプから、

頻出するDBアクセスメソッドを特定する。
41
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
42
top
top -H

ps auxww -L
jstack <PID>
CPU使用率:高
対象を特定
CPU使用率:低
スレッドごとの

CPU使用率取得
スレッドダンプ取得
対象がVM Thread
jstack <PID>
対象を推定
対象がVM Thread以外
jstat -gc <PID> 1000スタックトレース確認
フルGC頻度確認
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
43
パフォーマンス問題の8割は

これで問題箇所を特定できる
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. 問題箇所の性能改善
44
そっから先は、

頑張れ!
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
45
3. ログ収集と可視化
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
46
の前に、

ワンポイント

Javaトラシュー講座
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
47
Java標準のGUI

トラブルシューティング

ツールと言えば?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
1. VisualVM
48
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
2. Java Mission Control
49
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
50
どっちがいいの?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
51
ヒープダンプの解析で

今夜くらべてみました
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
52
VisualVMの場合
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
53
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
54
char[]とStringが大きい。

ヒープダンプあるある。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
55
Mission Control +

JOverflowプラグインの場合
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
56
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
x. ワンポイントJavaトラシュー講座
57
Pentahoのログが大きいことが、一目で分かる。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
教訓
58
ツールでできることの

「本質」は変わらないけど

「効率」は大きく変わる。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
59
3. ログ収集と可視化
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
60
事件は現場で

起きているのか?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
なぜログ収集が必要なのか?
実際に問題が起きているかどうかの、

貴重な証拠になるため。
「この機能、本当にきちんと動いてるの?」

→ 500エラーが○回発生している!
「文字列を + で結合しているから遅くなる」

→ この機能の平均レスポンスタイムは○秒である
61
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
なぜ可視化が必要なのか?
状況が一目で分かる
みんなで同じものを見られる

→ 野球のスコアボードと同じ
62
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
63
っていうか

可視化しないと

どうせ見ないでしょ!?
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
64
きっと、きちんと

動いているだろう

(不安だけど)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
65
きっと、パフォーマンスも

良好だろう

(不安だけど)
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
66
楽観的推測ではなく

きちんとログで確認するため
に可視化が必要
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
67
つまりログ可視化は

エンジニアの「責任」
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
68
じゃ、何を見ましょうか
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
69
CPU

使用率
メモリ

使用量
アクセス数
レスポンス

タイム
処理

成功数
遅いSQL
リソース

ログ ○ ○
アクセス

ログ ○ ○ ○
スロー

クエリ ○
他にも・・・ GCログ、I/Oサイズ、スレッド数、セッション数など
すぐに見たい情報と、収集元ログの例
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
70
そしてログ可視化、

と言えば。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
71
Elasticseach

+

Kibana
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
72
簡単に、小さく、今すぐ

始められる
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
ログの収集と分析
(1) Elasticsearch(蓄積)
• リアルタイム検索・解析エンジン
• 平たく言えば、ログの検索システム
(2) Kibana(可視化)
• ログ検索&可視化ツール
• 平たく言えば、Elasticsearchのフロントエンド
73
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
ログの収集と分析
(3) fluentd(収集)
• 各サーバで動くログ収集のエージェント
• 平たく言えば、ログをtailしてElasticsearchに送るヤツ
(4) logstash(収集)
• fluentdと同じ
• ただキューが れても捨てないから、

過去ログ投入に利用
• いつかはEmBulk
74
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
75
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
76
ログを可視化した結果
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化(アクセス数)
77
↑テレビ テレビの影響↑
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化(上:アクセス数、下:エラー数)
78
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化(上:アクセス数、下:レスポンスタイム)
79
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化(上:レスポンスタイム、下:スロークエリ)
80
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
普段から、キャパシティぎりぎりのようだ
TVが来た時に増えたアクセス数が、

503エラーにせざるを得ない。
レスポンス悪化するタイミングと、

スロークエリが悪化するタイミングが

完全に一致。つまりDBネック。

→あとは、ネックのSQLを改善するだけ。
81
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
さらなる可視化
ROI(投資対効果)
コンバージョンレート(成約率)
売り上げ
82
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3. ログ収集と可視化
さらなる可視化
ROI(投資対効果)
コンバージョンレート(成約率)
売り上げ



→何の話しとんねん、ここJava Day Tokyoやぞ!
83
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
84
4. インフラの改善
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4. インフラの改善
85
すぐに、AWS、AWS

言いやがって・・・
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4. インフラの改善
86
なので僕も

AWSにしました。
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4. インフラの改善
87
大規模改修のタイミングで

REST API化 + AWS化
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4. インフラの改善
88
既存の周辺システムとは

DirectConnectで接続
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
4. インフラの改善
89
I love AWS❤
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
90
まとめ
Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved.
まとめ
「理論的に」ではなく「今そこにある問題」
を解決するための手法を考えることが重要。
パフォーマンス問題は、

Javaのコマンドラインツールを使って

一瞬で絞り込め!
ログを見よう! そのために、可視化重要。
91
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
92
ログの可視化は

エンジニアの責任だと思ってやりましょう!

Más contenido relacionado

La actualidad más candente

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタSatoyuki Tsukano
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)NTT DATA Technology & Innovation
 
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)NTT DATA Technology & Innovation
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)NTT DATA Technology & Innovation
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) Satoshi Nagayasu
 
DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所Ryo Sasaki
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CDYuta Matsumura
 
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身Amazon Web Services Japan
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5ikeyat
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)NTT DATA Technology & Innovation
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)NTT DATA Technology & Innovation
 
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)ShogoOkazaki
 

La actualidad más candente (20)

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
 
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
Kubernetes 基盤における非機能試験の deepdive(Kubernetes Novice Tokyo #17 発表資料)
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版) データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
 
DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所DynamoDBの初心者に伝えたい初めて触るときの勘所
DynamoDBの初心者に伝えたい初めて触るときの勘所
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
分かったうえではじめるCI/CD
分かったうえではじめるCI/CD分かったうえではじめるCI/CD
分かったうえではじめるCI/CD
 
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
Pod Security AdmissionによるKubernetesのポリシー制御(Kubernetes Novice Tokyo #21 発表資料)
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
使ってみませんか?pg_hint_plan
使ってみませんか?pg_hint_plan使ってみませんか?pg_hint_plan
使ってみませんか?pg_hint_plan
 
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
Rustで DDD を実践しながら API サーバーを実装・構築した(つもり)
 

Destacado

from old Java to modern Java
from old Java to modern Javafrom old Java to modern Java
from old Java to modern Java心 谷本
 
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynoteJJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote心 谷本
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡心 谷本
 
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!心 谷本
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka心 谷本
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと心 谷本
 
日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告心 谷本
 
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話心 谷本
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~Takanori Suzuki
 
Javaコーディング勉強会
Javaコーディング勉強会Javaコーディング勉強会
Javaコーディング勉強会inatus
 
Javaでマサカリ投げてみた
Javaでマサカリ投げてみたJavaでマサカリ投げてみた
Javaでマサカリ投げてみたYujiSoftware
 
Javaでつくる技術ドキュメントのバリデーション環境
Javaでつくる技術ドキュメントのバリデーション環境Javaでつくる技術ドキュメントのバリデーション環境
Javaでつくる技術ドキュメントのバリデーション環境Recruit Technologies
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説You_Kinjoh
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
Spring4-DevLove発表資料
Spring4-DevLove発表資料Spring4-DevLove発表資料
Spring4-DevLove発表資料Yuichi Hasegawa
 
from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition心 谷本
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Arun Gupta
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかYoshitaka Kawashima
 
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -JustSystems Corporation
 

Destacado (20)

from old Java to modern Java
from old Java to modern Javafrom old Java to modern Java
from old Java to modern Java
 
JJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynoteJJUG CCC 2015 Fall keynote
JJUG CCC 2015 Fall keynote
 
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
実例Javaトラブルシューティング! 〜稼働中のシステムを立て直した半年間の軌跡
 
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!
Let's reconsider about collecting logs. Plus, visiting elastic@Moutain View!
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告日本一細かいJavaOne2011報告
日本一細かいJavaOne2011報告
 
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話
勝敗は常に見積もりで決まる〜Redmineを使った時間記録の話
 
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
デブサミ2014-Stormで実現するビッグデータのリアルタイム処理プラットフォーム ~ストリームデータ処理から機械学習まで~
 
Javaコーディング勉強会
Javaコーディング勉強会Javaコーディング勉強会
Javaコーディング勉強会
 
Javaでマサカリ投げてみた
Javaでマサカリ投げてみたJavaでマサカリ投げてみた
Javaでマサカリ投げてみた
 
Javaプログラミング入門
Javaプログラミング入門Javaプログラミング入門
Javaプログラミング入門
 
Javaでつくる技術ドキュメントのバリデーション環境
Javaでつくる技術ドキュメントのバリデーション環境Javaでつくる技術ドキュメントのバリデーション環境
Javaでつくる技術ドキュメントのバリデーション環境
 
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
Spring4-DevLove発表資料
Spring4-DevLove発表資料Spring4-DevLove発表資料
Spring4-DevLove発表資料
 
from old java to java8 - KanJava Edition
from old java to java8 - KanJava Editionfrom old java to java8 - KanJava Edition
from old java to java8 - KanJava Edition
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
 
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
ArrayListをじっくり読んでみた - JavaコアSDKを読む会を社内でやって気づいたこと -
 

Similar a 人気番組との戦い! Javaシステムのパフォーマンスチューニング奮闘記

NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6Hironobu Isoda
 
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ外道 父
 
SORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたSORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたTakanori Suzuki
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1Yasuaki Matsuda
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsGo Sueyoshi (a.k.a sue445)
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Hironobu Isoda
 
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう![沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!Seiji Akatsuka
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI Hiromichi Koga
 
ゆるドラ運営記
ゆるドラ運営記ゆるドラ運営記
ゆるドラ運営記亮太 松本
 
Quiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaQuiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaYosuke Furukawa
 
Uniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute apiUniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute apiHiroshi Yoshioka
 
Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Godai Nakamura
 
20180704 soracom discovery_ug#11
20180704 soracom discovery_ug#1120180704 soracom discovery_ug#11
20180704 soracom discovery_ug#11Haruka Yamashita
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_diveHiroshi Yoshioka
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤Godai Nakamura
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~Brocade
 
ソフトウェア開発の見える化
ソフトウェア開発の見える化ソフトウェア開発の見える化
ソフトウェア開発の見える化Takashi Makino
 

Similar a 人気番組との戦い! Javaシステムのパフォーマンスチューニング奮闘記 (20)

NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6
 
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
第2回 ioDrive+MySQL勉強会 @外道父 ioDriveの世界へようこそ
 
SORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみたSORACOM S+Cameraを利用して在庫チェックをやってみた
SORACOM S+Cameraを利用して在庫チェックをやってみた
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
Microsoft Azureで描く未来 !CLR/H &Windows女子部 ー lesson1
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
[Japan Tech summit 2017] MAI 008
[Japan Tech summit 2017] MAI 008[Japan Tech summit 2017] MAI 008
[Japan Tech summit 2017] MAI 008
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう![沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
[沖縄]はじめての運用自動化 Cloud automatorを触ってみよう!
 
[網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI [網元] WordPress 高速化チューニング AMI
[網元] WordPress 高速化チューニング AMI
 
ゆるドラ運営記
ゆるドラ運営記ゆるドラ運営記
ゆるドラ運営記
 
Quiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasiaQuiznowを支える技術 #yapcasia
Quiznowを支える技術 #yapcasia
 
Uniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute apiUniform indexing load with cluster reroute api
Uniform indexing load with cluster reroute api
 
Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016Internet of Toilet / Jaws festa 2016
Internet of Toilet / Jaws festa 2016
 
20180704 soracom discovery_ug#11
20180704 soracom discovery_ug#1120180704 soracom discovery_ug#11
20180704 soracom discovery_ug#11
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
 
ソフトウェア開発の見える化
ソフトウェア開発の見える化ソフトウェア開発の見える化
ソフトウェア開発の見える化
 

人気番組との戦い! Javaシステムのパフォーマンスチューニング奮闘記

  • 2. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2 満員御礼! ありがとうございます!!
  • 3. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 自己紹介 3 • 谷本 心 (Shin Tanimoto) - Acroquest Technology株式会社 - 開発&トラブルシュート教育 - JavaOneスピーカー - JJUG / 関ジャバ / S2JSFコミッタ - Twitter : @cero_t (日本語) - Facebook : shin.tanimoto (英語)
  • 4. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4 Java Performance: The Definitive Guide 日本語版、
 オライリーブースで
 先行販売中!!
  • 5. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 先ほどまで
 サイン会してました! 5
  • 6. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6
  • 7. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7 たぶん、ほぼほぼ
 寺田さんの
 サイン希望者ですけどね!
  • 8. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8 ところで、いま
 Javaパフォーマンス本
 をググった人?
  • 9. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9 そう、PC・スマホの時代。
 視聴者は気になったものを
 すぐにググル。
  • 10. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10 どれぐらいの人が?
  • 11. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11 たとえば、視聴率8%の
 あの番組に
 超潜入されたとすると。
  • 12. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12 127,000,000 (人)
 * 0.08 (視聴率)
 ≒10,000,000 (人)
  • 13. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13 10,000,000 (人)
 * 0.01 (検索する率)
 * 6 (一人あたりの検索回数)
 ≒ 600,000 (回)
  • 14. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14 仮に10分間で来るとすれば
 60,000回/分
 1,000回/秒
  • 15. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15 最大同時100アクセス/秒
 ぐらいのキャパだと、
 これは捌けないわけですよ
  • 16. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16 じゃ、どうするの?
  • 17. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17 スケーラビリティ重要
 ピーキー対応重要
 ということは・・・
  • 18. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18 そう、AWS!!
  • 19. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19 って現実、そんなに
 甘くないんだよ!
  • 20. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20 そのシステム、スケールするの? あと、関連システムを含めて
 全部AWSに持って行くの?
 誰がやるの? 死ぬの?
  • 21. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 21 誰しもが、すぐAWSに
 移行できるわけではない。
  • 22. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22 では、
 いま動いているシステムを
 どうやって
 改善すれば良いのか?
  • 23. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 23 0. 問題の定義
  • 24. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 0. 問題の定義 対象 人気宿泊施設の予約システム いま、そこで、実際に動いているシステム
 → 早く治したい、すぐ治したい、いま治したい! 問題点 TV放送のたびにシステムダウンする
 → 予約しようとした人が諦める。 24
  • 25. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 0. 問題の定義 問題の原因 APサーバ側の問題? DBサーバ側の問題? ネットワークの問題?
 → どこにボトルネックがあるかは不明 25
  • 26. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 0. 問題の定義 26 さて、あなたなら
 どうする?
  • 27. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27 1. アクセス数の制限
 2. 問題箇所の性能改善
 3. ログ収集と可視化 4. インフラの改善
  • 28. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 28 全部、順番にやろう!
  • 29. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29 1. アクセス数の制限
 2. 問題箇所の性能改善
 3. ログ収集と可視化 4. インフラの改善 暫定対処
 低コスト 根本解決
 高コスト
  • 30. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30 1. アクセス数の制限
  • 31. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. アクセス数の制限 31 アクセスを捌けないなら
 ブロックすればいいのよ
  • 32. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. アクセス数の制限 32 APサーバへのアクセス数が
 閾値を越えたら
 503エラーを返すServletFilter
 を適用。
  • 33. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. アクセス数の制限 33 ※ただし予約処理に
 進んでいる人は除く
  • 34. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. アクセス数の制限 34 これでサーバが落ちる頻度は
 グッと下がった。
 ただし、キャパシティも
 スループットも低いまま。
  • 35. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35 2. 問題箇所の性能改善
  • 36. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 36 事件は現場で
 起きてるんだ!
  • 37. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 37 商用環境で実際に起きている パフォーマンス問題に対して
 どうアプローチするか?
  • 38. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 どこに問題があるのか? 1. APサーバのCPU使用率測定 top
 2. APサーバのスレッドダンプ取得(遅い時に複数回) jstack <PID>
 3. DBサーバのCPU使用率測定 top 38
  • 39. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 APサーバのCPU使用率が高い場合 1. スレッドごとのCPU使用率を取得 top -H ps auxww -L | grep java
 →重いスレッドのスレッドID(10進数)を確認 スレッドダンプのスレッドID(16進数)と対応させて絞り込み 2. 重い処理が「VM Thread」以外の場合 スタックトレースに表れている処理が問題箇所。 3. 重い処理が「VM Thread」の場合 GCが頻発している可能性あり(次ページへ) 39
  • 40. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 GCが頻発している可能性がある場合 ヒープの使用状況、GCの発生回数を確認する jstat -gc <PID> 1000 OC : Old領域のキャパシティサイズ OU : Old領域の利用サイズ FGC : フルGCの回数 40
  • 41. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 APサーバのCPU使用率が低い場合 何度か取得したスレッドダンプから、
 頻出するメソッドを特定する。
 DPサーバのCPU使用率が高い場合 何度か取得したスレッドダンプから、
 頻出するDBアクセスメソッドを特定する。 41
  • 42. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 42 top top -H
 ps auxww -L jstack <PID> CPU使用率:高 対象を特定 CPU使用率:低 スレッドごとの
 CPU使用率取得 スレッドダンプ取得 対象がVM Thread jstack <PID> 対象を推定 対象がVM Thread以外 jstat -gc <PID> 1000スタックトレース確認 フルGC頻度確認
  • 43. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 43 パフォーマンス問題の8割は
 これで問題箇所を特定できる
  • 44. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. 問題箇所の性能改善 44 そっから先は、
 頑張れ!
  • 45. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 45 3. ログ収集と可視化
  • 46. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 46 の前に、
 ワンポイント
 Javaトラシュー講座
  • 47. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 47 Java標準のGUI
 トラブルシューティング
 ツールと言えば?
  • 48. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 1. VisualVM 48
  • 49. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2. Java Mission Control 49
  • 50. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 50 どっちがいいの?
  • 51. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 51 ヒープダンプの解析で
 今夜くらべてみました
  • 52. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 52 VisualVMの場合
  • 53. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 53
  • 54. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 54 char[]とStringが大きい。
 ヒープダンプあるある。
  • 55. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 55 Mission Control +
 JOverflowプラグインの場合
  • 56. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 56
  • 57. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. x. ワンポイントJavaトラシュー講座 57 Pentahoのログが大きいことが、一目で分かる。
  • 58. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 教訓 58 ツールでできることの
 「本質」は変わらないけど
 「効率」は大きく変わる。
  • 59. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 59 3. ログ収集と可視化
  • 60. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 60 事件は現場で
 起きているのか?
  • 61. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 なぜログ収集が必要なのか? 実際に問題が起きているかどうかの、
 貴重な証拠になるため。 「この機能、本当にきちんと動いてるの?」
 → 500エラーが○回発生している! 「文字列を + で結合しているから遅くなる」
 → この機能の平均レスポンスタイムは○秒である 61
  • 62. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 なぜ可視化が必要なのか? 状況が一目で分かる みんなで同じものを見られる
 → 野球のスコアボードと同じ 62
  • 63. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 63 っていうか
 可視化しないと
 どうせ見ないでしょ!?
  • 64. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 64 きっと、きちんと
 動いているだろう
 (不安だけど)
  • 65. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 65 きっと、パフォーマンスも
 良好だろう
 (不安だけど)
  • 66. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 66 楽観的推測ではなく
 きちんとログで確認するため に可視化が必要
  • 67. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 67 つまりログ可視化は
 エンジニアの「責任」
  • 68. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 68 じゃ、何を見ましょうか
  • 69. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 69 CPU
 使用率 メモリ
 使用量 アクセス数 レスポンス
 タイム 処理
 成功数 遅いSQL リソース
 ログ ○ ○ アクセス
 ログ ○ ○ ○ スロー
 クエリ ○ 他にも・・・ GCログ、I/Oサイズ、スレッド数、セッション数など すぐに見たい情報と、収集元ログの例
  • 70. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 70 そしてログ可視化、
 と言えば。
  • 71. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 71 Elasticseach
 +
 Kibana
  • 72. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 72 簡単に、小さく、今すぐ
 始められる
  • 73. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 ログの収集と分析 (1) Elasticsearch(蓄積) • リアルタイム検索・解析エンジン • 平たく言えば、ログの検索システム (2) Kibana(可視化) • ログ検索&可視化ツール • 平たく言えば、Elasticsearchのフロントエンド 73
  • 74. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 ログの収集と分析 (3) fluentd(収集) • 各サーバで動くログ収集のエージェント • 平たく言えば、ログをtailしてElasticsearchに送るヤツ (4) logstash(収集) • fluentdと同じ • ただキューが れても捨てないから、
 過去ログ投入に利用 • いつかはEmBulk 74
  • 75. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 75
  • 76. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 76 ログを可視化した結果
  • 77. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化(アクセス数) 77 ↑テレビ テレビの影響↑
  • 78. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化(上:アクセス数、下:エラー数) 78
  • 79. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化(上:アクセス数、下:レスポンスタイム) 79
  • 80. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化(上:レスポンスタイム、下:スロークエリ) 80
  • 81. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 普段から、キャパシティぎりぎりのようだ TVが来た時に増えたアクセス数が、
 503エラーにせざるを得ない。 レスポンス悪化するタイミングと、
 スロークエリが悪化するタイミングが
 完全に一致。つまりDBネック。
 →あとは、ネックのSQLを改善するだけ。 81
  • 82. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 さらなる可視化 ROI(投資対効果) コンバージョンレート(成約率) 売り上げ 82
  • 83. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3. ログ収集と可視化 さらなる可視化 ROI(投資対効果) コンバージョンレート(成約率) 売り上げ
 
 →何の話しとんねん、ここJava Day Tokyoやぞ! 83
  • 84. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 84 4. インフラの改善
  • 85. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4. インフラの改善 85 すぐに、AWS、AWS
 言いやがって・・・
  • 86. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4. インフラの改善 86 なので僕も
 AWSにしました。
  • 87. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4. インフラの改善 87 大規模改修のタイミングで
 REST API化 + AWS化
  • 88. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4. インフラの改善 88 既存の周辺システムとは
 DirectConnectで接続
  • 89. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4. インフラの改善 89 I love AWS❤
  • 90. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. 90 まとめ
  • 91. Copyright © Acroquest Technology Co., Ltd. All rights reserved.Copyright © Acroquest Technology Co., Ltd. All rights reserved. まとめ 「理論的に」ではなく「今そこにある問題」 を解決するための手法を考えることが重要。 パフォーマンス問題は、
 Javaのコマンドラインツールを使って
 一瞬で絞り込め! ログを見よう! そのために、可視化重要。 91
  • 92. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 92 ログの可視化は
 エンジニアの責任だと思ってやりましょう!