読書会(Javaパフォーマンス)第6回議事録

[ 戻る ]


=======================================
 「Javaパフォーマンス」を読む会(第6回)
=======================================

.. csv-table:: 開催概要

  "日時", "2015年11月21日 10:00 - 17:00"
  "場所", "川崎市教育文化会館 第3会議室"
  "出席者(敬称略)", "高橋(智)、岩室、遠藤、ウェイ、井上、吉本、門脇、平山、高橋(徹)"

p.289 9.5 スレッドとロックの監視
--------------------------------

9.5.1 スレッドの可視化
----------------------

9.5.2 ブロックされているスレッドの可視化
----------------------------------------

* p.293 「JARファイルの読み出しには同期のロックが必要なため」とあるが、どうして必要?

10章 Java EEのパフォーマンス
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

10.1 基本的なWebコンテナのパフォーマンス
----------------------------------------

* p.296 「CSSやJavaScriptを連結する」

  * 最近話題のHTTP2ではこれをやってくれる?
    → HTTP2は、いろいろ複雑で…

* p.296 「出力を圧縮する」

  * 小さいファイルについて言及しているが、大きすぎるファイルについても問題
    → トラブル事例) 巨大な(数百万件の)CSVデータをダウンロードするとき、CSVデータの圧縮に時間がかかっていた。ロードバランサーが介在していたため、タイムアウトが発生。このときは、CSVを圧縮対象外とすることで回避。

* p.298 シンクタイムとは

  * 原文は think time、思考遅延時間、一定間隔でリクエストを出す等

* p.299 fhb というツールは?

  * ここで初出のようだ。

* p.300

  * 高可用性設計では、セッションの複製ではなく、ステートレスにしてDBに必要情報を入れたり、Webブラウザ(クライアント)に情報を持たせ(HTML5ならセッションストレージやローカルストレージが利用可能)もある。


10.2 スレッドプール
-------------------

* 「HTTP用とEJB用のスレッドプールがあり、サイズはそれぞれ12と4だとします」

  * この単位は?
    → スレッド数では。

* 「サーブレットには3倍の優先順位」とは?

  * スレッドプールの数が、HTTPが3倍なので公平にスケジューリングされるとしたら、12:4で3倍割り当てが回ってくるはず

10.3 EJBのセッションBean
------------------------

* Webアプリケーションの開発は、最近のJava EEを使うと楽になってきたのか?

  * 昔のJava EEに比べると使いやすくなっている。
  * Webアプリケーションを作成するのに今は何が定番?
    今は百家争鳴状態で、収束はしていない。
    JavaだけでなくPHPやJavaScriptベースやらたくさんある。
    クライアントもWebブラウザだけでなく、スマフォのネイティブもある。
    EJBはトランザクション(従来はTPモニタ)が必要な基幹系システムでは有用だが、
    単一のデータベースのトランザクションで済むようなWeb系システムでは重いだけかもしれない。
    最近話題のマイクロサービスを実装するならEJBもよいと思う。
    EJBの仕様からJPA仕様が分離されたので、業務系Webシステムではサーブレット、JAX-RS、
    JPAを使って(EJBを使わずに)実現する。

* 誤植 p.304 上6l 「2つの型のEJBを使うなら」→「2つのEJBのクラスを使うなら」

  * 原文は、class
    なお、1行上の「EJBの型ごとに」は、原文ではtype。


* p.307 引数と戻り値の扱い

  * 事例)リモートインタフェースのEJBが同一プロセス内で呼ばれると値渡しを参照渡しに変えてこっそり効率化するEJB実装があり、EJB実装を変更すると振舞が変わるということがあった。

* p.308 「CORBAは低速なため」 おいっ!

10.4 XMLとJSONの処理
-------------------

* JSONは、コメントが書けない、要素の列挙で最後のカンマを許さない、ということろがいやだ。

* p.325 本文では「JAXBによって生成されたオブジェクトは、XMLへの書き出し(マーシャンリング)にかかる時間がDOMよりも大幅に短くなる」とあるが、表10-10ではマーシャリング時間はDOMの方が早い。誤記か?

10.5 オブジェクトのシリアライズ
-------------------------------


10.6 Java EEのネットワークAPI
-----------------------------

11章 データベースのベストプラクティス
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* テーブルのスキーマは見れないのか?
  (サンプルコードがGitHubにあるのでそこにあるか?)

11.1 JDBC
---------


本日は、p.344 まで
~~~~~~~~~~~~~~~~~~

* 次回は、11.1.3 JDBCのコネクションプールから

* 2次会は、200回記念ボーリング大会
  8人参加で、3ゲームの合計スコアで判定。優勝は高橋(智)さん、準優勝は井上さんでした。
  おめでとうございます。
  


[ 戻る ]