2002-07-10 (Wed)

帰宅すると

玄関前で三毛猫が待っててくれた!

BEA Developers Conference 2002

ここ二日ほど参加。すでに話題の中心は新技術、新機能よりも保守、運用、適用範囲の拡大、開発プロセスに向いているようだ。収穫をつらつらメモ。

JRockit

Intelプラットフォーム最強 JavaVM。いつでもJITがON(つまりインタプリタモードが無い)。JavaスレッドをOSネイティブスレッドにマップ可能。Hot-Spotは適宜検出して積極的に最適化リコンパイル。サーバサイド向けに最適化(メモリマネージ、スレッドマネージ、IOに比重が置かれる)。Windows と Linuxに対応。新 Core になった Intel の Xeon のハイパースレディングとの組み合わせが最強。

WebLogic Internals

WebLogicServerのスレッドアーキテクチャ。Listenスレッド(非SSL/SSL)がソケットを開いてコネクションを待ち、accept した接続を Socket リーダースレッドへ渡す。Socketリーダーは接続を適切な実行キューへと振り分ける。

Listenスレッド>Socketリーダスレッド>実行スレッド(実行キュー)
  • 実行キュー
    • 管理用RMIキュー … APがハングしても管理の続行を可能にするため専用キューが用意される。管理サーバ、管理対象サーバ間のインタラクション。JMXクライアント、weblogic.Admin
    • 管理コンソール用 HTTP キュー
    • レプリケーションキュー … クラスタ環境でのレプリカ。HTTPセッション、ステートフルセッションBean。
    • マルチキャストキュー … クラスタ環境でのマルチキャスト処理。ハートビート、クラスタワイドJNDI。
    • JMSディスパッチャキュー … JMSのフロントエンド、バックエンド処理
    • 非同期トランザクションキュー … トランザクションの実行を調整(XAプロトコル)。2フェーズコミット実行。
    • デフォルトキュー … すべてのユーザーリクエスト(T3,HTTP,RMI,IIOP,Web Services)。Socketリーダ。タイマージョブ(ユーザー定義はdeprecated)。
  • 内部スレッド
    • Listenスレッド
    • Application Pollerスレッド … 開発者モードのみで存在。開発中のアプリケーションファイルの更新を監視。開発者モードはこのスレッドのために負荷が高い。
    • Transaction Timeout スレッド … タイムアウトしたトランザクションを定期的にロールバック。
    • MultiCastソケットリーダスレッド … 分散環境で必要。マルチキャストデータを受信。
    • Socketリーダスレッド … Pure-Java 実装とネイティブ実装を選択できる。通常ネイティブ実装にするべき(WebLogicもネイティブなとこあるんだな)。
    • Timer High Priority スレッド … 高優先度のタイマジョブ実行、ハートビートとか
    • Timer Low Priority スレッド … 低優先度のタイマジョブを実行

スレッドダンブ

ハングの解析に有効

  • UNIX: kill -3(SIGQUIT)をプロセスに送る
  • Windows: CTRL-Break (NTサービスとして起動していると不可能)
  • 間隔を空けて複数回採取する
標準出力、標準エラー出力は予めリダイレクト
% ./startWebLogic.sh > console.log 2>&1

ユーザー定義の実行キュー

ミッションクリティカルなアプリケショーションに専用の実行キューを用意してスループットを向上させることができる。デットロック対策にもなる場合もある。欠点はIdelスレッドが増加することと、スレッドダンプが複雑化すること。

config.xmlにて<ExecuteQueue>でキューを作成。web.xmlでサーブレットに割り当てたり、ejbc で所定の EJB にユーザー定義実行キューを結びつけることができる。

スレッド関連トラブル

JDBCのDriverManager#getConnectionはデットロックの危険性あり。使用しない。JNDIからのDataSourceを推奨。

ヒープが十分あるのにOutOfMemoryErrorが発生

1.3.x以上の VM なら Permanent Generation不足の可能性あり。Permanent Generation とは GC されないオブジェクトに割り当てられるメモリ領域。サーバサイドシステムでは肥大化する傾向がある。

java weblogic.i18ntools.CatInfo

指定のIDのエラーメッセージを出力してくれる。日本語のエラー番号から英語のエラーメッセージを出力させて AskBEA などで検索できる。6.1でも使える。

本日のツッコミ(全1件) [ツッコミを入れる]

# 山本 [関連しそうなツールです。スレッドダンプの解析やヒープ容量/GCのチューニングにどうぞ。 http://yusuke...]


2003-07-10 (Thu)

はやしくんプレ壮行会

昨夜。参加者 himi, はやし,ひきた,ko。

  • ビアライゼのビールは流石にかなりウマい。のみまくりよい気分。
  • himi 、HHK Pro を買ってご満悦。
  • はやしくんから Qt/XEmacs を見せてもらう。重〜い。*1
  • 閉店間際まで飲み明かして二次会は蕎麦屋そじ坊。
  • 終電早いひきたはそうそうに仕上げ蕎麦を食べて離脱。
  • 鶴姫ガンガンのんでたらいつのまにか himi の終電リミット。蕎麦屋でそばを食べずして3人で帰宅。
  • ギリギリだった himi はダッシュで風のように去る。
  • 余裕があるはやしくんと ko は、改札でゆっくりお別れ。また呑もう。
  • 山手線に乗り込みひとごごちと思ったところで himi から電話。
  • 「終電ロスト〜」
  • 気が付くと二人で築地の 24h 営業のお寿司屋さんにて寿司をパクついていた。
  • 実に旨い。また来よう。
  • 5:00 近くに店を出る。外はもう明るい。

楽しいけど、himi さんと呑むとなんでこう限界まで挑戦するようなハメになるのか。平日なのに。^^;;

今日は仕事ムリムリ。

Tags:

*1 重いとか以前の問題だったが。

Meadow の読み方 (2)

kawachoさんありがとう。いつも日記楽しみに見てます。

これ

<URL:http://dictionary.goo.ne.jp/search.php?MT=meadow&kind=ej>

いいね。official からもリンクしておこうかな。

Tags: Emacsen
本日のツッコミ(全6件) [ツッコミを入れる]

# 344 [ぷっ、ちみたち若いのう ┐(´ー`)┌]

# ぱんだ [やっぱり、あんたら若いもんにはつき合っていられませんわん。]

# ko [こんなはずではなかったのニ... _| ̄|○]

#  [ほんと、呑んでばっかりね。最近、ちょくちょく山形に行ってます。新庄市の「庄司」「いせき」って蕎麦屋がお奨め!蕎麦の本..]

# kose [meadowyの読み方もおせーて!]

# ko [himiっちは「めどうぃ〜」と言ってたけど酔っ払ってただけの可能性もアリ。]