Submit Search
Upload
Java EE パフォーマンスTips #glassfish_jp
•
Download as PPTX, PDF
•
12 likes
•
8,095 views
Norito Agetsuma
Follow
2015-09-16 帰ってきたGlassFish Users Group Japan勉強会のスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 32
Download now
Recommended
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
Yukinori KITADAI
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
Java仮想マシンの実装技術
Java仮想マシンの実装技術
Kiyokuni Kawachiya
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ゆるバグ
ゆるバグ
MITSUNARI Shigeo
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
Recommended
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
Yukinori KITADAI
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
Narimichi Takamura
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
Taku Miyakawa
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
Norito Agetsuma
Java仮想マシンの実装技術
Java仮想マシンの実装技術
Kiyokuni Kawachiya
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
ゆるバグ
ゆるバグ
MITSUNARI Shigeo
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
【続編】その ionice、ほんとに効いてますか?
【続編】その ionice、ほんとに効いてますか?
Narimichi Takamura
Memcachedの仕組みと設定
Memcachedの仕組みと設定
Tatsuya Akashi
大規模分散システムの現在 -- Twitter
大規模分散システムの現在 -- Twitter
maruyama097
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Taku Miyakawa
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
An Internal of LINQ to Objects
An Internal of LINQ to Objects
Yoshifumi Kawai
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
NTT DATA Technology & Innovation
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
Tier_IV
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
Java EE8 Report
Java EE8 Report
Norito Agetsuma
More Related Content
What's hot
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
レシピの作り方入門
レシピの作り方入門
Nobuhiro Iwamatsu
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
Serverworks Co.,Ltd.
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
infinite_loop
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
【続編】その ionice、ほんとに効いてますか?
【続編】その ionice、ほんとに効いてますか?
Narimichi Takamura
Memcachedの仕組みと設定
Memcachedの仕組みと設定
Tatsuya Akashi
大規模分散システムの現在 -- Twitter
大規模分散システムの現在 -- Twitter
maruyama097
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
ken_kitahara
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Taku Miyakawa
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
An Internal of LINQ to Objects
An Internal of LINQ to Objects
Yoshifumi Kawai
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
NTT DATA Technology & Innovation
Unified JVM Logging
Unified JVM Logging
Yuji Kubota
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
Tier_IV
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
Glibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
What's hot
(20)
Apache Hadoopの新機能Ozoneの現状
Apache Hadoopの新機能Ozoneの現状
レシピの作り方入門
レシピの作り方入門
知っているようで知らないPAMのお話
知っているようで知らないPAMのお話
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
【続編】その ionice、ほんとに効いてますか?
【続編】その ionice、ほんとに効いてますか?
Memcachedの仕組みと設定
Memcachedの仕組みと設定
大規模分散システムの現在 -- Twitter
大規模分散システムの現在 -- Twitter
FridaによるAndroidアプリの動的解析とフッキングの基礎
FridaによるAndroidアプリの動的解析とフッキングの基礎
金勘定のためのBigDecimalそしてMoney and Currency API
金勘定のためのBigDecimalそしてMoney and Currency API
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
An Internal of LINQ to Objects
An Internal of LINQ to Objects
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
Unified JVM Logging
Unified JVM Logging
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
トランクベース開発を活用して爆速に開発した話
トランクベース開発を活用して爆速に開発した話
TLS, HTTP/2演習
TLS, HTTP/2演習
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Glibc malloc internal
Glibc malloc internal
Viewers also liked
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
Java EE8 Report
Java EE8 Report
Norito Agetsuma
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
典子 松本
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
Aya Ebata
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
Norito Agetsuma
Java EE 再入門
Java EE 再入門
minazou67
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Norito Agetsuma
Welcome back, GlassFish!
Welcome back, GlassFish!
Yumi Hiraoka
Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2
Hirofumi Iwasaki
Oracle talk 20131213
Oracle talk 20131213
Arshal Ameen
JPA説明会
JPA説明会
Ryo Asai
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 - Marchioni
Codemotion
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
Toshiaki Maki
Android端末のroot化について
Android端末のroot化について
Shuichi Takaya
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
Kunimasa Noda
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
Narihiro Nakamura
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
Yusuke Suzuki
Javaのプログラムはどうやって動いているの? GC編
Javaのプログラムはどうやって動いているの? GC編
Yuichi Sakuraba
Scala dreaded underscore
Scala dreaded underscore
RUDDER
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Norito Agetsuma
Viewers also liked
(20)
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE8 Report
Java EE8 Report
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
「もしかして」「私たち」「「入れ替わってるー! 」」〜Java女子部がRuby on Railsやってみた編〜
JavaOne2015報告会 Java EE アップデート #j1jp
JavaOne2015報告会 Java EE アップデート #j1jp
Java EE 再入門
Java EE 再入門
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Welcome back, GlassFish!
Welcome back, GlassFish!
Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2
Oracle talk 20131213
Oracle talk 20131213
JPA説明会
JPA説明会
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 - Marchioni
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
JSFとJAX-RSで作る Thin Server Architecture #glassfishjp
Android端末のroot化について
Android端末のroot化について
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
アプリ開発・端末毎の解像度の違いを吸収する方法 Android Bazaar and Conference 2011 Summer
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
JavaOne感想&技術トレンド紹介 - JavaOne2015報告会
Javaのプログラムはどうやって動いているの? GC編
Javaのプログラムはどうやって動いているの? GC編
Scala dreaded underscore
Scala dreaded underscore
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Similar to Java EE パフォーマンスTips #glassfish_jp
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
なおき きしだ
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
Yasumasa Suenaga
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Appresso Engineering Team
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
David Buck
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
normalian
What is doobie? - database access for scala -
What is doobie? - database access for scala -
chibochibo
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
PE-BANK
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
オラクルエンジニア通信
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Yuji Kubota
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Toshiaki Maki
Play with Playframework
Play with Playframework
Takafumi Yoshida
Java in the World of Container by David Buck
Java in the World of Container by David Buck
オラクルエンジニア通信
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Chihiro Ito
Hello Java
Hello Java
Chihiro Ito
Springでdao 20070413
Springでdao 20070413
Funato Takashi
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
オラクルエンジニア通信
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Yuji Kubota
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
Chihiro Ito
Similar to Java EE パフォーマンスTips #glassfish_jp
(20)
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
Play jjug2012spring
Play jjug2012spring
Java Day Tokyo 2014 まとめ (chen)
Java Day Tokyo 2014 まとめ (chen)
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
What is doobie? - database access for scala -
What is doobie? - database access for scala -
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Play with Playframework
Play with Playframework
Java in the World of Container by David Buck
Java in the World of Container by David Buck
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Hello Java
Hello Java
Springでdao 20070413
Springでdao 20070413
コンテナ環境でJavaイメージを小さくする方法!
コンテナ環境でJavaイメージを小さくする方法!
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Oracle code one 2018 報告会概要
Oracle code one 2018 報告会概要
More from Norito Agetsuma
Quarkus入門
Quarkus入門
Norito Agetsuma
Java EEを補完する仕様 MicroProfile
Java EEを補完する仕様 MicroProfile
Norito Agetsuma
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Norito Agetsuma
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Norito Agetsuma
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
AeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュ
Norito Agetsuma
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメ
Norito Agetsuma
SQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメ
Norito Agetsuma
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Norito Agetsuma
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
Norito Agetsuma
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Norito Agetsuma
More from Norito Agetsuma
(11)
Quarkus入門
Quarkus入門
Java EEを補完する仕様 MicroProfile
Java EEを補完する仕様 MicroProfile
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
AeroGear & Java EE 7 で簡単プッシュ
AeroGear & Java EE 7 で簡単プッシュ
プロになるためのJavaScript入門読書会 レジュメ
プロになるためのJavaScript入門読書会 レジュメ
SQLアンチパターン読書会 レジュメ
SQLアンチパターン読書会 レジュメ
JSR 352 “Batch Applications for the Java Platform”
JSR 352 “Batch Applications for the Java Platform”
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
Lt agetsuma 拡大するcdi
Lt agetsuma 拡大するcdi
Recently uploaded
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Recently uploaded
(12)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Java EE パフォーマンスTips #glassfish_jp
1.
Java EE パフォーマンスTips 2015/09/16 帰ってきた GlassFish
Users Group Japan 勉強会 上妻 宜人 (あげつま のりと)
2.
上妻 宜人 -
あげつま のりと • SIer勤務 • 技術サポート部隊に所属 • Java / Java EE トラブルシューティング • はてな 見習いプログラミング日記
3.
本日のテーマ
4.
Java EEレイヤ毎の性能Tips Presentation Business Logic Repository • JSF •
JAX-RS • .... • EJB • CDI • JPA/JDBC • 外部API呼出 • ファイル I/O
5.
Java EEパフォーマンスTips • プレゼンテーション層
(JSF) • #1 古いmojarraを使わない (JAVASERVERFACES-2494対策) • ビジネス層 (EJB/CDI) • #2 DIはEJBではなくCDIを使う • #3 @Asynchronous利用時はスレッドプールに注意 • データアクセス層 (JPA) • #4 JPAのexecuteBatch設定を忘れない
6.
#1 古いmojarraを使わない (JAVASERVERFACES-2494対策)
7.
#1 古いmojarraを使わない • JSF参照実装mojarraには、かつて性能バグがあった •
JAVASERVERFACES-2494 (https://java.net/jira/browse/JAVASERVERFACES-2494) • JSFタグ (UIComponent) が増えると遅くなる問題 • 2.1.22, 2.2.1 で修正 • GlassFish4.0 が該当。4.1でFix。
8.
GlassFish4.0 と Payara4.1
で実測 • 大量のJSFタグがポイント • 1000, 3000, 5000 タグで GlassFish4.0 と Payara4.1 比較 <h:body> <h1>JSF Many Component 1000</h1> <h:form> <h:outputText value="#{testBean.name}"/> <h:outputText value="#{testBean.name}"/> <h:outputText value="#{testBean.name}"/> <h:outputText value="#{testBean.name}"/> <h:outputText value="#{testBean.name}"/> ... 以降大量のoutputTextを繰り返す
9.
タグ数が多い場合は注意 • GlassFish4.0: レスポンスタイムが徐々に低下 •
Payara4.1.153 : 5000タグで150ミリ秒 0 1000 2000 3000 4000 5000 1000 2000 3000 4000 5000 レスポンスタイム(ミリ秒) JSFタグ数 GlassFish 4.0 (mojarra2.2.0) Payara 4.1.153 (mojarra2.2.11) マシン情報: MacBook Air corei5 1.7GHz JDK1.8.0_60
10.
mojarraは色々な所で使われている • GlassFish • 4.0は影響あり。
4.1以降で修正。 • Payaraは4.1ベースなので影響なし。 • WildFly • 8.0.0と8.1.0は影響あり。 8.2以降で修正。
11.
Java EEパフォーマンスTips • プレゼンテーション層
(JSF) • #1 古いmojarraを使わない (JAVASERVERFACES-2494対策) • ビジネス層 (EJB/CDI) • #2 DIはEJBではなくCDIを使う • #3 @Asynchronous利用時はスレッドプールに注意 • データアクセス層 (JPA) • #4 JPAのexecuteBatch設定を忘れない
12.
#2 DIはEJBではなくCDIを使う
13.
#2 DIはEJBではなくCDIを使う • Java
EE6 CDI が導入。 • Java EE7 より beans.xml なしでデフォルト有効化。 • Java EE5 まではEJB間でのみDIが利用可。 @Inject private StockService service; @Dependent public class StockService { // ... }
14.
EJBのループ呼び出しによるオーバヘッド • EJBのループ呼び出しは性能上悩みの種だった • 万単位以上のループのみオーバヘッド顕在化 •
見つかった時には試験期間の後半
15.
実際に測っている • Payara4.1.152でBeanをループ呼び出し • EJB
と CDI Bean を呼び出して比較 // EJB @Stateless public class EJBBean { public String echo(String s) { return s; } } // CDI @ApplicationScoped public class CDIBean {...} // Client @Inject EJBBean ejb; for (int i = 0; i < loop; i++) { ejb.echo(String.valueOf(i)); }
16.
CDIはほとんどオーバヘッドがない 271 907 2953 1 8 15 10000
50000 100000 EJB @Stateless CDI @ApplicationScoped ループ呼び出し回数 単位: ミリ秒 マシン情報: MacBook Air corei5 1.7GHz JDK1.8.0_60, Payara4.1.153
17.
@Transactionalもループで呼び出してみた • @Transactinal 宣言的トランザクション
(Java EE7 〜) • ついうっかり、ループで呼び出される状況を想定 @ApplicationScoped @Transactional public class StockService { public void put(Stock s) { // 更新系処理 ... } public void search(Criteria c) { // 参照系処理 ... } }
18.
@Transactionalはループで呼ばないこと • @Transactional の実体はインターセプタ。 •
ループ呼出しコストは高い。 271 907 2953 1 8 151909 8822 32761 10000 50000 100000 EJB @Stateless CDI @ApplicationScoped CDI @ApplicationScoped & @Transactional ループ呼び出し回数 マシン情報: MacBook Air corei5 1.7GHz JDK1.8.0_60, Payara4.1.153 単位: ミリ秒
19.
#3 @Asynchronous利用時は EJBスレッドプールに注意
20.
#3 @Asynchronous利用時はEJBスレッドプールに注意 • @Asynchronousの振り返り •
EJB3.1 (Java EE6) で導入 • シンプルに非同期タスク処理が実装できる @Stateless public class AsyncBean { @Asynchronous public Future<String> async() { return new AsyncResult<>("done”); } }
21.
GlassFishデフォルトは多重度が増えない • 以下の非同期EJBの呼び出しは、16多重で止まる • GlassFish4
EJBスレッドプールのデフォルト上限が16 • Performance Tuning Guideにも言及がなく、ハマる @Inject private AsyncBean async; public void callAsyncEjb() { IntStream.range(0, 100) .forEach(i -> async.async()); }
22.
“EJB Container” のプロパティを追加 •
固有の入力欄はなく、プロパティとして設定 • thread-core-pool-size : 最小プールサイズ • thread-max-pool-size : 最大プールサイズ
23.
Java EEパフォーマンスTips • プレゼンテーション層
(JSF) • #1 古いmojarraを使わない (JAVASERVERFACES-2494対策) • ビジネス層 (EJB/CDI) • #2 DIはEJBではなくCDIを使う • #3 @Asynchronous利用時はスレッドプールに注意 • データアクセス層 (JPA) • #4 JPAのexecuteBatch設定を忘れない
24.
#4. JPAのexecuteBatch設定を忘れない • JDBC利用時はexecuteBatchを皆意識する •
JPAを使い始めると、何故か忘れやすい • JPA内部で自動的に最適化されている淡い期待 • しかし、EclipseLinkもHibernateもバッチ更新デフォルト無効
25.
EclipseLink のバッチ書き込み設定 • persistence.xml
に設定 • eclipselink.jdbc.batch-writing = jdbc (default: none) • eclipselink.jdbc.batch-writing.size = ... (default: 100) <persistence-unit name="PostgresPU"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>jdbc/postgresDS</jta-data-source> <properties> <property name="eclipselink.jdbc.batch-writing" value="jdbc"/> <property name="eclipselink.jdbc.batch-writing.size" value="100"/> ...
26.
Payara4.1で実際に測ってみる • PostgreSQLに100, 1000,
1万レコードのINSERT • JDBCを加えてO/Rマッパー遅い疑惑も検証 • #1. JDBC executeBatch • #2. JPA batch-writing=jdbc (バッチ有効化) • #3. JPA batch-writing=none (バッチ無効化)
27.
測定結果 • INSERT 100レコード
でも十分な効果がある • JDBCと比較して、JPA(EclipseLink) は1〜2割遅い • 1万行であれば、ORMコストはそれほど大きくない 40 128 122375 169 14891243 9023 58247 100レコード 1000レコード 10000レコード JDBC executeBatch EclipseLink (batch-writing=jdbc) EclipseLink (batch-writing=none) 単位: ミリ秒 マシン情報: MacBook Air corei5 1.7GHz JDK1.8.0_60, Payara4.1.153, PostgreSQL9.3
28.
まとめ
29.
#1 古いmojarraを使わない GlassFish4.1以上 or
Payaraを使う (mojarra2.1.22, 2.2.1 以上)
30.
#2 DIはEJBではなくCDIを使う 過ループ時のEJBのオーバヘッドは大きい @Transactionalループ呼び出しに注意
31.
#3 @Asynchronous利用時は EJBスレッドプールに注意 EJBコンテナの以下プロパティを忘れずに設定 thread-core-pool-size, thread-max-pool-size
32.
#4 JPAのexecuteBatch設定を忘れない EclipseLink/Hibernateデフォルトはバッチ無効 persistence.xml eclipselink.jdbc.batch-writing=jdbc
Download now