SlideShare uma empresa Scribd logo
1 de 67
©2023 NTT DATA Corporation
GraalVMでのFlight Recorderを使ったパフォーマンス解析
2023年6月4日
株式会社NTTデータ テレコム・ユーティリティ事業本部
古賀和久
2
©2023 NTT DATA Corporation
はじめに
3
©2023 NTT DATA Corporation
自己紹介
 株式会社 NTTデータ 所属
古賀 和久
 好きなこと
 バーベキュー
 川遊び
 ソースコードを読むこと
 普段の仕事
 通信業界のシステム開発(C/C++メイン)
 ITアーキテクト
4
©2023 NTT DATA Corporation
本日の内容
5
©2023 NTT DATA Corporation
このセッション内容
Javaの
アプリケーション
JDK Mission Control
FlightRecord
ファイル
Native化した
アプリケーション
FlightRecord
ファイル
同じように解析できるのか?
JDK Mission Control
6
©2023 NTT DATA Corporation
検証内容
# JDK公式ドキュメント 検証ケース
1
ガベージ・コレクション
のパフォーマンス
2 同期(ロック競合)
3 IOパフォーマンス
4 コード実行パフォーマンス
実際の運用でよくあるだろうケースを想定
※検証目的に特化した単純なコードで実施(実サービスのものではありません)
無駄なオブジェクトで徐々にヒープを圧迫
GCが原因で性能劣化
マルチスレッド処理で排他制御がボトルネックになる
File/NWなど外部資源とのIOがボトルネックになる
アルゴリズムの選択ミスなどによって
特定のメソッドがボトルネックになる
7
©2023 NTT DATA Corporation
■発表を聞いて得られること
- どこまで組み込みイベントで解析できるようになっているか
- 今はまだ何ができないか
■発表を聞いても得られないこと
- ユーザ独自のEventを実装してチューニングする方法
GraalVMの公式ドキュメントに
載っています
8
©2023 NTT DATA Corporation
本セッションで話さないこと
• そもそもGraalVMとは
• GraalVMのNative化とは
• Native化の仕方
• FlightRecordの取得方法
→OCHaCafe6 #2 GraalVM 最新事情
わかりやすいです
9
©2023 NTT DATA Corporation
検証環境
Windows11 x64
Core(TM) i5-11400H / RAM32GB
WSL2
Ubuntu 20.04.5 LTS
GraalVM CE
java11-22.3.0
検証用アプリケーション
(Java版)
ケースごとに実装
検証用アプリケーション
(Native版)
GraalVMの
native-imageコマンドで
変換
10
©2023 NTT DATA Corporation
検証結果サマリ
# JDK公式ドキュメント 検証ケース
1
ガベージ・コレクション
のパフォーマンス
2 同期(ロック競合)
3 IOパフォーマンス
4 コード実行パフォーマンス
無駄なオブジェクトで徐々にヒープサイズを圧迫
GCが原因で性能劣化
マルチスレッド処理で排他制御がボトルネックになる
File/NWなど外部資源とのIOボトルネックになる
アルゴリズムの選択ミスによって、
特定のメソッドがボトルネックになる
11
©2023 NTT DATA Corporation
ケースごとの説明の流れ
• 検証アプリケーションの概要
• Javaでの実行例
• Native化したアプリでの結果
• 原因調査/代替手段など
12
©2023 NTT DATA Corporation
検証(1/4) ガベージ・コレクションのパフォーマンス
13
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(1/8)
検証アプリケーション
• 解放されないオブジェクトを徐々に増加
※ループ内で100Byteのオブジェクトをリストに追加
• GCのアルゴリズムは”Serial GC※”
※GraalVM CE版ではSerial GCしか使えないので条件を合わせるため
14
©2023 NTT DATA Corporation
Javaでの実行結果
15
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(2/8)
自動分析レポート(Javaの場合)
最長休止時間
アプリケーション実行時間に対する
休止時間の比率
GCで止まっている時間が
自動分析レポートで分析されている
16
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(3/8)
ガベージコレクションページ(Javaの場合)
ヒープ使用状況の
グラフ
GCイベントごとの
詳細情報
停止時間の
グラフ
17
©2023 NTT DATA Corporation
Native化したアプリでの結果
18
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(4/8)
自動分析レポート(Native化したアプリケーションの場合)
アプリケーション実行時間
に対する休止時間の比率
最長休止時間
GCで止まっている時間が
Javaと同じように分析されました
19
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(5/8)
ガベージコレクションページ(Native化したアプリケーションの場合)
ヒープの使用状況の
グラフは確認できない
GCイベントの情報
停止時間のグラフ
停止時間のグラフは
同様に見れる
20
©2023 NTT DATA Corporation
なぜグラフが出ないのか?
21
©2023 NTT DATA Corporation
Q. そもそも何をもとに
グラフは出ているのか
22
©2023 NTT DATA Corporation
A. 「jdk.GCHeapSummary」
23
©2023 NTT DATA Corporation
jdk.GCHeapSummary {
startTime = 22:03:30.764
gcId = 11
when = "Before GC"
heapSpace = {
start = 0xE7000000
committedEnd = 0xFF2B0000
committedSize = 386.7 MB
reservedEnd = 0x100000000
reservedSize = 400.0 MB
}
heapUsed = 294.2 MB
}
jdk.GCHeapSummary {
startTime = 22:03:30.776
gcId = 11
when = "After GC"
heapSpace = {
start = 0xE7000000
committedEnd = 0xFF2B0000
committedSize = 386.7 MB
reservedEnd = 0x100000000
reservedSize = 400.0 MB
}
heapUsed = 65.5 MB
}
ガベージ・コレクションのパフォーマンス(6/8)
Javaのヒープグラフ
実際のグラフとの対応です
24
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(7/8)
Native化したアプリケーションでヒープのグラフが出ない原因
jfr コマンドで確認したイベントの集計結果
該当イベントが出力されていない。
https://github.com/oracle/graal/issues/5410
GraalVMのイベント対応状況のIssue抜粋
そもそも実装されていない
25
©2023 NTT DATA Corporation
代替手段は?
GC Logで代替可能
26
©2023 NTT DATA Corporation
GC Logのサンプル
[
[36555093917095 GC: before epoch: 7 cause: CollectOnAllocation]
[Full GC (CollectOnAllocation) 222900K->20067K, 0.0056789 secs]
[36555099612242 GC: after epoch: 7 cause: CollectOnAllocation policy: adaptive type: complete collection time: 5678909 nanoSeconds]
]
[
[36555359491355 GC: before epoch: 8 cause: CollectOnAllocation]
[Incremental GC (CollectOnAllocation) 123681K->122657K, 0.0002136 secs]
[36555359717573 GC: after epoch: 8 cause: CollectOnAllocation policy: adaptive type: incremental collection time: 213647 nanoSeconds]
]
GCのタイプ(実施理由) GC前のヒープ、GC後のヒープ、休止時間
27
©2023 NTT DATA Corporation
ガベージ・コレクションのパフォーマンス(8/8)
考察
# ページ 差異 運用
1
レポート
ページ
チューニング要否はJMCを利用できる。
(休止時間については分析されるため)
2
ガベージコ
レクション
のページ
ヒープサイズの使用状況の分析は
当面はGCログで分析する必要あり。
ヒープグラフが出ない
チューニング要否の判断(休止時間の分析)はJMCでもできる。
28
©2023 NTT DATA Corporation
検証(2/4) ロックに関する分析
29
©2023 NTT DATA Corporation
ロックに関する分析(1/8)
■検証アプリケーション
• マルチスレッド(3つ)
• Counter(共有オブジェクト)を排他取得
• ロック時間は長め
■期待
競合状況や競合原因などを見られること
検証アプリケーション
30
©2023 NTT DATA Corporation
Javaでの実行結果
31
©2023 NTT DATA Corporation
ロックに関する分析(2/8)
自動分析レポート(Javaの場合)
ブロッキングの発生状況が分析結果として出てきています
32
©2023 NTT DATA Corporation
ロックに関する分析(3/8)
スレッドの情報(Javaの場合)
凡例
アクティブ
非アクティブ
ロック開放待ちで順次スレッドが実行されている
※下図は説明用に該当する子スレッド以外はグレーアウト表示に加工しています
33
©2023 NTT DATA Corporation
ロックに関する分析(4/8)
ロックインスタンスの詳細ビュー(Javaの場合)
競合原因やスレッドごとのブロック時間を見ることができる
競合が発生した原因
スレッドごとのブロック時間
34
©2023 NTT DATA Corporation
Native化したアプリでの結果
35
©2023 NTT DATA Corporation
ロックに関する分析(5/8)
自動分析の結果(Nativeでの場合)
Javaと同様にブロッキング発生をレポートされる
36
©2023 NTT DATA Corporation
ロックに関する分析(6/8)
スレッドのページ(Native化したアプリでの実行例)
凡例
アクティブ
非アクティブ
Javaと同様にスレッドの競合状況をグラフで確認できる
※下図は説明用に該当する子スレッド以外はグレーアウト表示に加工している
37
©2023 NTT DATA Corporation
ロックに関する分析(7/8)
ロックインスタンスのページ(Native化したアプリケーションでの例)
Javaと同様に競合原因やブロック時間を見ることができる
競合が発生した原因
スレッドごとのブロック時間
38
©2023 NTT DATA Corporation
ロックに関する分析のまとめ
39
©2023 NTT DATA Corporation
ロックに関する分析(8/8)
考察
# ページ 差異 結果
1
レポート
ページ
レポートでチェックポイントとして報告される
2
スレッドの
詳細分析
ビュー
スレッド情報を可視化して確認できる
3
ロックイン
スタンスの
詳細ビュー
原因となったクラスの情報
スレッドごとのブロック時間の集計結果
を見ることできた
Javaと同様のレベルで解析可能
40
©2023 NTT DATA Corporation
検証(3/4) IOパフォーマンス
41
©2023 NTT DATA Corporation
IOパフォーマンス
調査結果
• GraalVMの22.03ではイベント※出力未実装
jdk.FileRead、jdk.FileWrite、jdk.SocketRead、jdk.SocketWrite
• PullRequestが出ていたがマージされていない。
https://github.com/oracle/graal/pull/5497
42
©2023 NTT DATA Corporation
検証(4/4) コード実行パフォーマンス
43
©2023 NTT DATA Corporation
コード実行パフォーマンス(1/10)
■検証アプリケーション
bubble_sort メソッドが処理時間の大半を占めるように実行
■期待
bubble_sort メソッドが改善対象としてレポートされること
検証アプリケーション
44
©2023 NTT DATA Corporation
Javaでの実行結果
45
©2023 NTT DATA Corporation
コード実行パフォーマンス(2/10)
自動分析の結果(Javaの場合)
bubble_sort が実行時間の大半を占めることがレポートされた
46
©2023 NTT DATA Corporation
コード実行パフォーマンス(3/10)
メソッド・プロファイリング(Javaの場合)
対象メソッドやスタックトレースの情報を確認できる
47
©2023 NTT DATA Corporation
Native化したアプリでの結果
48
©2023 NTT DATA Corporation
コード実行パフォーマンス(4/10)
自動分析の結果(Nativeの場合)
Nativeの場合はbubble_sort が改善対象として出てこなかった
49
©2023 NTT DATA Corporation
コード実行パフォーマンス(5/10)
メソッド・プロファイリング(Nativeでの例)
Nativeの実行例では何の情報も出ていない
50
©2023 NTT DATA Corporation
出力されない原因を調べてみた
51
©2023 NTT DATA Corporation
コード実行パフォーマンス(6/10)
Javaでの実行例から、何のイベントを元にしているかを調べてみた
jdk.ExecutionSampleが出力されていないから
$jfr print --events jdk.ExecutionSample app-startup.jfr で見た例
jdk.ExecutionSample {
startTime = 22:17:35.853
sampledThread = "main" (javaThreadId = 1)
state = "STATE_RUNNABLE"
stackTrace = [
com.example.App.bubble_sort(int[]) line: 14
com.example.App.main(String[]) line: 50
]
}
■Javaでの実行例
52
©2023 NTT DATA Corporation
コード実行パフォーマンス(7/10)
Nativeでメソッドプロファイリングに引っかからない原因
3つ目のケースと違ってイベント出力は実装されていた
jfr コマンドで確認したイベントの集計結果(抜粋)
$ jfr summary native-start.jfr
Version: 2.0
Chunks: 1
Start: 2023-02-16 13:18:33 (UTC)
Duration: 126 s
Event Type CountSize (bytes)
========================================
jdk.JavaMonitorWait 6407171229
:
jdk.ExecutionSample 0 0
jdk.NativeMethodSample 0 0
:
該当イベントが出力されていない。
実際に、関連するPull-Requestはmergeされていことも確認済み
https://github.com/oracle/graal/pull/4005
※https://github.com/oracle/graal/issues/5410
GraalVMのイベント対応状況のIssue※抜粋
実装済みにはなっている
53
©2023 NTT DATA Corporation
追加検証
23年3月のGraalVMのmasterで実施
※JDKは17になっています
54
©2023 NTT DATA Corporation
コード実行パフォーマンス(8/10)
自動分析の結果(追加検証)
レポートは出るがメソッド名が異なる
期待 bubble_sort
結果 invokeCallback
55
©2023 NTT DATA Corporation
コード実行パフォーマンス(9/10)
メソッド・プロファイリング(追加検証)
レポートに表示されたメソッド名と同様に期待値と異なる
invokeCallback
56
©2023 NTT DATA Corporation
コード実行パフォーマンス(10/10)
考察
何かしらの不具合があるようだが、
現時点では不明
JavaでチューニングしてからNative化
57
©2023 NTT DATA Corporation
まとめ
58
©2023 NTT DATA Corporation
検証結果サマリ -再掲-
対応状況はケースによってまちまちだった
# JDK公式ドキュメント 検証ケース
1
ガベージ・コレクション
のパフォーマンス
2 同期(ロック競合)
3 IOパフォーマンス
4 コード実行パフォーマンス
無駄なオブジェクトで徐々にヒープサイズを圧迫
マルチスレッドで実行していて、
排他制御箇所がボトルネックになっている
File/NWなど外部資源とのIOボトルネックで
性能が出ない
アルゴリズムの選択ミスによって、
特定のメソッドがボトルネックになっている
59
©2023 NTT DATA Corporation
まちまち 悪いこと
60
©2023 NTT DATA Corporation
イベント出力対象が増えれば
Javaの解析手法を活用できる
61
©2023 NTT DATA Corporation
拡充に期待!!
62
©2023 NTT DATA Corporation
JJUG発表後 追加スライド
63
©2023 NTT DATA Corporation
jdk.GCHeapSummaryの出力機能の拡張について
https://github.com/oracle/graal/pull/6466
こんな感じで見れるようになります!
(Serial GC限定です)
提出したPull-Requestが採用されました!
64
©2023 NTT DATA Corporation
参考資料
65
©2023 NTT DATA Corporation
参考資料
# タイトル 記載者 概要 URL
1 OpenJDK での JDK Flight Recorder の使用 Redhat(公式) Flight RecorderやJMCの使い方の概要など
https://access.redhat.com/documentation/
ja-jp/openjdk/11/html/using_jdk_flight_rec
order_with_openjdk/index
2 JFR Events SAP(公式) JDKバージョンごとの取得可能なイベントの一覧(サンプル付き)
https://sap.github.io/SapMachine/jfre
vents/
3 JDK Flight Recorder Javaコミュニティ
Flight Recorder関連のアーキテクチャや、トラブルシュートの例な
ど
https://foojay.io/today/category/tools
/jdk-flight-recorder/
4 OpenJDK(GitHub) OpenJDK(公式) JDKのソースコード https://github.com/openjdk/jdk
5
GraalVM(ドキュメント) Oracle(公式)
GraalVMの公式サイト https://www.graalvm.org/
6
Flight Recorderを有効にしてビルドする方法などが記載されてい
ます
https://www.graalvm.org/latest/refer
ence-manual/native-image/debugging
-and-diagnostics/JFR/
7 ユーザ独自のイベントを発行して記録する方法
https://www.graalvm.org/latest/refer
ence-manual/native-image/guides/bui
ld-and-run-native-executable-with-jfr/
8
GraalVM(GitHub) Oracle(公式)
トップページ https://github.com/oracle/graal/
9 JFRに関するディスカッション
https://github.com/oracle/graal/discussion
s?discussions_q=jfr
10 Native-Imageの変更履歴
https://github.com/oracle/graal/blob/
master/substratevm/CHANGELOG.md
11 Flight RecorderのEvent対応状況
https://github.com/oracle/graal/issue
s/5410
12 GraalVM 最新事情
Oracle Cloud
Hang out Cafe
GraalVMとは?やNativeimgeコマンドとは?といった概要を知り
たい場合はこちらから読まれるとわかりやすいと思います。
https://ochacafe.connpass.com/event
/259128/presentation/
66
©2023 NTT DATA Corporation
本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。
©2023 NTT DATA Corporation

Mais conteúdo relacionado

Mais procurados

続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)NTT DATA Technology & Innovation
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)NTT DATA Technology & Innovation
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Yahoo!デベロッパーネットワーク
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringYahoo!デベロッパーネットワーク
 
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料オラクルエンジニア通信
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
 

Mais procurados (20)

続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)
なぜ貴方のモダナイゼーションは評価されないのか ~傾向と対策~ (CloudNative Days Tokyo 2022 発表資料)
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化FizzBuzzで学ぶJavaの進化
FizzBuzzで学ぶJavaの進化
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
Apache Igniteインメモリーデータ処理プラットフォーム:特徴&利活用
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 SpringGoでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
 
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 

Semelhante a GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)

GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...NTT DATA Technology & Innovation
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
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
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Yuji Kubota
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?Takuya Ogawa
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介NTT Communications Technology Development
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例Kishin Yagami
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service FabricTakekazu Omi
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)NTT DATA Technology & Innovation
 
Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Daisuke Taniwaki
 
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】WESEEKWESEEK
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Yahoo!デベロッパーネットワーク
 

Semelhante a GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring) (20)

GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
 
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 発表資料)
 
Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?Java 10でぼくたちの生活はどう変わるの?
Java 10でぼくたちの生活はどう変わるの?
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
AlloyDB のデータ分析基盤での活用におけるポテンシャルとは?
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
 
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2022年の開発状況(第38回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例Rocroにおけるgcp活用事例
Rocroにおけるgcp活用事例
 
Introduction to Azure Service Fabric
Introduction to Azure Service FabricIntroduction to Azure Service Fabric
Introduction to Azure Service Fabric
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
 
Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介Reactive Workflow Argo Eventsの紹介
Reactive Workflow Argo Eventsの紹介
 
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
激白!GROWI.cloudの可用性向上の取り組み【WESEEK Tech Conf #16】
 
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
Micrometer/Prometheusによる大規模システムモニタリング #jsug #sf_26
 

Mais de NTT DATA Technology & Innovation

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)NTT DATA Technology & Innovation
 

Mais de NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
PGCon 2023 参加報告(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
 

Último

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Último (7)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

GraalVMでのFlight Recorderを使ったパフォーマンス解析(JJUG CCC 2023 Spring)

  • 1. ©2023 NTT DATA Corporation GraalVMでのFlight Recorderを使ったパフォーマンス解析 2023年6月4日 株式会社NTTデータ テレコム・ユーティリティ事業本部 古賀和久
  • 2. 2 ©2023 NTT DATA Corporation はじめに
  • 3. 3 ©2023 NTT DATA Corporation 自己紹介  株式会社 NTTデータ 所属 古賀 和久  好きなこと  バーベキュー  川遊び  ソースコードを読むこと  普段の仕事  通信業界のシステム開発(C/C++メイン)  ITアーキテクト
  • 4. 4 ©2023 NTT DATA Corporation 本日の内容
  • 5. 5 ©2023 NTT DATA Corporation このセッション内容 Javaの アプリケーション JDK Mission Control FlightRecord ファイル Native化した アプリケーション FlightRecord ファイル 同じように解析できるのか? JDK Mission Control
  • 6. 6 ©2023 NTT DATA Corporation 検証内容 # JDK公式ドキュメント 検証ケース 1 ガベージ・コレクション のパフォーマンス 2 同期(ロック競合) 3 IOパフォーマンス 4 コード実行パフォーマンス 実際の運用でよくあるだろうケースを想定 ※検証目的に特化した単純なコードで実施(実サービスのものではありません) 無駄なオブジェクトで徐々にヒープを圧迫 GCが原因で性能劣化 マルチスレッド処理で排他制御がボトルネックになる File/NWなど外部資源とのIOがボトルネックになる アルゴリズムの選択ミスなどによって 特定のメソッドがボトルネックになる
  • 7. 7 ©2023 NTT DATA Corporation ■発表を聞いて得られること - どこまで組み込みイベントで解析できるようになっているか - 今はまだ何ができないか ■発表を聞いても得られないこと - ユーザ独自のEventを実装してチューニングする方法 GraalVMの公式ドキュメントに 載っています
  • 8. 8 ©2023 NTT DATA Corporation 本セッションで話さないこと • そもそもGraalVMとは • GraalVMのNative化とは • Native化の仕方 • FlightRecordの取得方法 →OCHaCafe6 #2 GraalVM 最新事情 わかりやすいです
  • 9. 9 ©2023 NTT DATA Corporation 検証環境 Windows11 x64 Core(TM) i5-11400H / RAM32GB WSL2 Ubuntu 20.04.5 LTS GraalVM CE java11-22.3.0 検証用アプリケーション (Java版) ケースごとに実装 検証用アプリケーション (Native版) GraalVMの native-imageコマンドで 変換
  • 10. 10 ©2023 NTT DATA Corporation 検証結果サマリ # JDK公式ドキュメント 検証ケース 1 ガベージ・コレクション のパフォーマンス 2 同期(ロック競合) 3 IOパフォーマンス 4 コード実行パフォーマンス 無駄なオブジェクトで徐々にヒープサイズを圧迫 GCが原因で性能劣化 マルチスレッド処理で排他制御がボトルネックになる File/NWなど外部資源とのIOボトルネックになる アルゴリズムの選択ミスによって、 特定のメソッドがボトルネックになる
  • 11. 11 ©2023 NTT DATA Corporation ケースごとの説明の流れ • 検証アプリケーションの概要 • Javaでの実行例 • Native化したアプリでの結果 • 原因調査/代替手段など
  • 12. 12 ©2023 NTT DATA Corporation 検証(1/4) ガベージ・コレクションのパフォーマンス
  • 13. 13 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(1/8) 検証アプリケーション • 解放されないオブジェクトを徐々に増加 ※ループ内で100Byteのオブジェクトをリストに追加 • GCのアルゴリズムは”Serial GC※” ※GraalVM CE版ではSerial GCしか使えないので条件を合わせるため
  • 14. 14 ©2023 NTT DATA Corporation Javaでの実行結果
  • 15. 15 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(2/8) 自動分析レポート(Javaの場合) 最長休止時間 アプリケーション実行時間に対する 休止時間の比率 GCで止まっている時間が 自動分析レポートで分析されている
  • 16. 16 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(3/8) ガベージコレクションページ(Javaの場合) ヒープ使用状況の グラフ GCイベントごとの 詳細情報 停止時間の グラフ
  • 17. 17 ©2023 NTT DATA Corporation Native化したアプリでの結果
  • 18. 18 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(4/8) 自動分析レポート(Native化したアプリケーションの場合) アプリケーション実行時間 に対する休止時間の比率 最長休止時間 GCで止まっている時間が Javaと同じように分析されました
  • 19. 19 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(5/8) ガベージコレクションページ(Native化したアプリケーションの場合) ヒープの使用状況の グラフは確認できない GCイベントの情報 停止時間のグラフ 停止時間のグラフは 同様に見れる
  • 20. 20 ©2023 NTT DATA Corporation なぜグラフが出ないのか?
  • 21. 21 ©2023 NTT DATA Corporation Q. そもそも何をもとに グラフは出ているのか
  • 22. 22 ©2023 NTT DATA Corporation A. 「jdk.GCHeapSummary」
  • 23. 23 ©2023 NTT DATA Corporation jdk.GCHeapSummary { startTime = 22:03:30.764 gcId = 11 when = "Before GC" heapSpace = { start = 0xE7000000 committedEnd = 0xFF2B0000 committedSize = 386.7 MB reservedEnd = 0x100000000 reservedSize = 400.0 MB } heapUsed = 294.2 MB } jdk.GCHeapSummary { startTime = 22:03:30.776 gcId = 11 when = "After GC" heapSpace = { start = 0xE7000000 committedEnd = 0xFF2B0000 committedSize = 386.7 MB reservedEnd = 0x100000000 reservedSize = 400.0 MB } heapUsed = 65.5 MB } ガベージ・コレクションのパフォーマンス(6/8) Javaのヒープグラフ 実際のグラフとの対応です
  • 24. 24 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(7/8) Native化したアプリケーションでヒープのグラフが出ない原因 jfr コマンドで確認したイベントの集計結果 該当イベントが出力されていない。 https://github.com/oracle/graal/issues/5410 GraalVMのイベント対応状況のIssue抜粋 そもそも実装されていない
  • 25. 25 ©2023 NTT DATA Corporation 代替手段は? GC Logで代替可能
  • 26. 26 ©2023 NTT DATA Corporation GC Logのサンプル [ [36555093917095 GC: before epoch: 7 cause: CollectOnAllocation] [Full GC (CollectOnAllocation) 222900K->20067K, 0.0056789 secs] [36555099612242 GC: after epoch: 7 cause: CollectOnAllocation policy: adaptive type: complete collection time: 5678909 nanoSeconds] ] [ [36555359491355 GC: before epoch: 8 cause: CollectOnAllocation] [Incremental GC (CollectOnAllocation) 123681K->122657K, 0.0002136 secs] [36555359717573 GC: after epoch: 8 cause: CollectOnAllocation policy: adaptive type: incremental collection time: 213647 nanoSeconds] ] GCのタイプ(実施理由) GC前のヒープ、GC後のヒープ、休止時間
  • 27. 27 ©2023 NTT DATA Corporation ガベージ・コレクションのパフォーマンス(8/8) 考察 # ページ 差異 運用 1 レポート ページ チューニング要否はJMCを利用できる。 (休止時間については分析されるため) 2 ガベージコ レクション のページ ヒープサイズの使用状況の分析は 当面はGCログで分析する必要あり。 ヒープグラフが出ない チューニング要否の判断(休止時間の分析)はJMCでもできる。
  • 28. 28 ©2023 NTT DATA Corporation 検証(2/4) ロックに関する分析
  • 29. 29 ©2023 NTT DATA Corporation ロックに関する分析(1/8) ■検証アプリケーション • マルチスレッド(3つ) • Counter(共有オブジェクト)を排他取得 • ロック時間は長め ■期待 競合状況や競合原因などを見られること 検証アプリケーション
  • 30. 30 ©2023 NTT DATA Corporation Javaでの実行結果
  • 31. 31 ©2023 NTT DATA Corporation ロックに関する分析(2/8) 自動分析レポート(Javaの場合) ブロッキングの発生状況が分析結果として出てきています
  • 32. 32 ©2023 NTT DATA Corporation ロックに関する分析(3/8) スレッドの情報(Javaの場合) 凡例 アクティブ 非アクティブ ロック開放待ちで順次スレッドが実行されている ※下図は説明用に該当する子スレッド以外はグレーアウト表示に加工しています
  • 33. 33 ©2023 NTT DATA Corporation ロックに関する分析(4/8) ロックインスタンスの詳細ビュー(Javaの場合) 競合原因やスレッドごとのブロック時間を見ることができる 競合が発生した原因 スレッドごとのブロック時間
  • 34. 34 ©2023 NTT DATA Corporation Native化したアプリでの結果
  • 35. 35 ©2023 NTT DATA Corporation ロックに関する分析(5/8) 自動分析の結果(Nativeでの場合) Javaと同様にブロッキング発生をレポートされる
  • 36. 36 ©2023 NTT DATA Corporation ロックに関する分析(6/8) スレッドのページ(Native化したアプリでの実行例) 凡例 アクティブ 非アクティブ Javaと同様にスレッドの競合状況をグラフで確認できる ※下図は説明用に該当する子スレッド以外はグレーアウト表示に加工している
  • 37. 37 ©2023 NTT DATA Corporation ロックに関する分析(7/8) ロックインスタンスのページ(Native化したアプリケーションでの例) Javaと同様に競合原因やブロック時間を見ることができる 競合が発生した原因 スレッドごとのブロック時間
  • 38. 38 ©2023 NTT DATA Corporation ロックに関する分析のまとめ
  • 39. 39 ©2023 NTT DATA Corporation ロックに関する分析(8/8) 考察 # ページ 差異 結果 1 レポート ページ レポートでチェックポイントとして報告される 2 スレッドの 詳細分析 ビュー スレッド情報を可視化して確認できる 3 ロックイン スタンスの 詳細ビュー 原因となったクラスの情報 スレッドごとのブロック時間の集計結果 を見ることできた Javaと同様のレベルで解析可能
  • 40. 40 ©2023 NTT DATA Corporation 検証(3/4) IOパフォーマンス
  • 41. 41 ©2023 NTT DATA Corporation IOパフォーマンス 調査結果 • GraalVMの22.03ではイベント※出力未実装 jdk.FileRead、jdk.FileWrite、jdk.SocketRead、jdk.SocketWrite • PullRequestが出ていたがマージされていない。 https://github.com/oracle/graal/pull/5497
  • 42. 42 ©2023 NTT DATA Corporation 検証(4/4) コード実行パフォーマンス
  • 43. 43 ©2023 NTT DATA Corporation コード実行パフォーマンス(1/10) ■検証アプリケーション bubble_sort メソッドが処理時間の大半を占めるように実行 ■期待 bubble_sort メソッドが改善対象としてレポートされること 検証アプリケーション
  • 44. 44 ©2023 NTT DATA Corporation Javaでの実行結果
  • 45. 45 ©2023 NTT DATA Corporation コード実行パフォーマンス(2/10) 自動分析の結果(Javaの場合) bubble_sort が実行時間の大半を占めることがレポートされた
  • 46. 46 ©2023 NTT DATA Corporation コード実行パフォーマンス(3/10) メソッド・プロファイリング(Javaの場合) 対象メソッドやスタックトレースの情報を確認できる
  • 47. 47 ©2023 NTT DATA Corporation Native化したアプリでの結果
  • 48. 48 ©2023 NTT DATA Corporation コード実行パフォーマンス(4/10) 自動分析の結果(Nativeの場合) Nativeの場合はbubble_sort が改善対象として出てこなかった
  • 49. 49 ©2023 NTT DATA Corporation コード実行パフォーマンス(5/10) メソッド・プロファイリング(Nativeでの例) Nativeの実行例では何の情報も出ていない
  • 50. 50 ©2023 NTT DATA Corporation 出力されない原因を調べてみた
  • 51. 51 ©2023 NTT DATA Corporation コード実行パフォーマンス(6/10) Javaでの実行例から、何のイベントを元にしているかを調べてみた jdk.ExecutionSampleが出力されていないから $jfr print --events jdk.ExecutionSample app-startup.jfr で見た例 jdk.ExecutionSample { startTime = 22:17:35.853 sampledThread = "main" (javaThreadId = 1) state = "STATE_RUNNABLE" stackTrace = [ com.example.App.bubble_sort(int[]) line: 14 com.example.App.main(String[]) line: 50 ] } ■Javaでの実行例
  • 52. 52 ©2023 NTT DATA Corporation コード実行パフォーマンス(7/10) Nativeでメソッドプロファイリングに引っかからない原因 3つ目のケースと違ってイベント出力は実装されていた jfr コマンドで確認したイベントの集計結果(抜粋) $ jfr summary native-start.jfr Version: 2.0 Chunks: 1 Start: 2023-02-16 13:18:33 (UTC) Duration: 126 s Event Type CountSize (bytes) ======================================== jdk.JavaMonitorWait 6407171229 : jdk.ExecutionSample 0 0 jdk.NativeMethodSample 0 0 : 該当イベントが出力されていない。 実際に、関連するPull-Requestはmergeされていことも確認済み https://github.com/oracle/graal/pull/4005 ※https://github.com/oracle/graal/issues/5410 GraalVMのイベント対応状況のIssue※抜粋 実装済みにはなっている
  • 53. 53 ©2023 NTT DATA Corporation 追加検証 23年3月のGraalVMのmasterで実施 ※JDKは17になっています
  • 54. 54 ©2023 NTT DATA Corporation コード実行パフォーマンス(8/10) 自動分析の結果(追加検証) レポートは出るがメソッド名が異なる 期待 bubble_sort 結果 invokeCallback
  • 55. 55 ©2023 NTT DATA Corporation コード実行パフォーマンス(9/10) メソッド・プロファイリング(追加検証) レポートに表示されたメソッド名と同様に期待値と異なる invokeCallback
  • 56. 56 ©2023 NTT DATA Corporation コード実行パフォーマンス(10/10) 考察 何かしらの不具合があるようだが、 現時点では不明 JavaでチューニングしてからNative化
  • 57. 57 ©2023 NTT DATA Corporation まとめ
  • 58. 58 ©2023 NTT DATA Corporation 検証結果サマリ -再掲- 対応状況はケースによってまちまちだった # JDK公式ドキュメント 検証ケース 1 ガベージ・コレクション のパフォーマンス 2 同期(ロック競合) 3 IOパフォーマンス 4 コード実行パフォーマンス 無駄なオブジェクトで徐々にヒープサイズを圧迫 マルチスレッドで実行していて、 排他制御箇所がボトルネックになっている File/NWなど外部資源とのIOボトルネックで 性能が出ない アルゴリズムの選択ミスによって、 特定のメソッドがボトルネックになっている
  • 59. 59 ©2023 NTT DATA Corporation まちまち 悪いこと
  • 60. 60 ©2023 NTT DATA Corporation イベント出力対象が増えれば Javaの解析手法を活用できる
  • 61. 61 ©2023 NTT DATA Corporation 拡充に期待!!
  • 62. 62 ©2023 NTT DATA Corporation JJUG発表後 追加スライド
  • 63. 63 ©2023 NTT DATA Corporation jdk.GCHeapSummaryの出力機能の拡張について https://github.com/oracle/graal/pull/6466 こんな感じで見れるようになります! (Serial GC限定です) 提出したPull-Requestが採用されました!
  • 64. 64 ©2023 NTT DATA Corporation 参考資料
  • 65. 65 ©2023 NTT DATA Corporation 参考資料 # タイトル 記載者 概要 URL 1 OpenJDK での JDK Flight Recorder の使用 Redhat(公式) Flight RecorderやJMCの使い方の概要など https://access.redhat.com/documentation/ ja-jp/openjdk/11/html/using_jdk_flight_rec order_with_openjdk/index 2 JFR Events SAP(公式) JDKバージョンごとの取得可能なイベントの一覧(サンプル付き) https://sap.github.io/SapMachine/jfre vents/ 3 JDK Flight Recorder Javaコミュニティ Flight Recorder関連のアーキテクチャや、トラブルシュートの例な ど https://foojay.io/today/category/tools /jdk-flight-recorder/ 4 OpenJDK(GitHub) OpenJDK(公式) JDKのソースコード https://github.com/openjdk/jdk 5 GraalVM(ドキュメント) Oracle(公式) GraalVMの公式サイト https://www.graalvm.org/ 6 Flight Recorderを有効にしてビルドする方法などが記載されてい ます https://www.graalvm.org/latest/refer ence-manual/native-image/debugging -and-diagnostics/JFR/ 7 ユーザ独自のイベントを発行して記録する方法 https://www.graalvm.org/latest/refer ence-manual/native-image/guides/bui ld-and-run-native-executable-with-jfr/ 8 GraalVM(GitHub) Oracle(公式) トップページ https://github.com/oracle/graal/ 9 JFRに関するディスカッション https://github.com/oracle/graal/discussion s?discussions_q=jfr 10 Native-Imageの変更履歴 https://github.com/oracle/graal/blob/ master/substratevm/CHANGELOG.md 11 Flight RecorderのEvent対応状況 https://github.com/oracle/graal/issue s/5410 12 GraalVM 最新事情 Oracle Cloud Hang out Cafe GraalVMとは?やNativeimgeコマンドとは?といった概要を知り たい場合はこちらから読まれるとわかりやすいと思います。 https://ochacafe.connpass.com/event /259128/presentation/
  • 66. 66 ©2023 NTT DATA Corporation 本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です。
  • 67. ©2023 NTT DATA Corporation