ASTERIA Warpには様々なシステム設定項目があり、これらをカスタマイズするとより自社に合った最適なASTERIA Warp動作環境を構築できます。しかしこれらの設定項目の意味を知るためには、まずは内部の仕組みを理解しないといけません。
そこでASTERIA Warpデベロッパー勉強会では、これから数回に渡り内部の仕組みを解説していくことにいたしました。
しかし・・・
「Deep Diveって果たしてどんな内容なの?」
「初心者でも大丈夫?」
「すでに知っている内容なんじゃないの?」
など様々な疑問をお持ちかと思います。
そこで先日開催されたDeep Dive 1st の模様を下記にレポートいたします。
ASTERIA WarpはFlowServiceなどのいくつかのサービス(プロセス)で構成されています。「ASFramework」はこれらのサービス共通のスレッド実行モデルとなります。
ASFrameWorkはAccepter、Worker、Control、Mainの4つのスレッドで構成されます。
リクエストを受信すると「Accepter」がFIFO(ファーストイン、ファーストアウト)のリクエストキューに一旦ストック。そして、キューの先頭のリクエストを「Worker」が取り出し実行します。なお、Workerはマルチスレッドで動作するので実際の実行順は逆転することもあります。
\ここがポイント/ |
リクエストキューサイズと警告サイズを最適な値に設定しよう ・リクエストキューサイズを超えた場合、Accepterで受け付けたリクエストは破棄される ・警告サイズを超えてリクエストが溜まるとログ出力 |
警告サイズを超えてリクエストがたまると写真のようなメッセージがログ出力されます。
さらにリクエストキューサイズを超えた場合には、次のようなメッセージログが出力されます。
Workerスレッドは「監視タイムアウト」の時間を超えて実行しているとデッドリストと呼ばれる管理リストに入れられます。デッドリストに入っているスレッドの数が最大スレッド数に達した場合はメール通知が行われます。
\ここがポイント/ |
|
当日は上記以外にもFlowServiceのアーキテクチャーの解説やfsmon.exeを利用したデモンストレーションなどが行われました。
当日のプレゼン資料はASTERIA Warp Developer Network Slackに掲載しています。
︎ASTERIA Warp Developer Network Slack招待リンクはこちら
参加者からは次のようなコメントをいただきました。
勉強会の後は恒例の情報交流会を開催。熱いデベロッパー談義をされているテーブルもあれば楽しく盛り上がるテーブルもあり、最後まで大にぎわいの交流会となりました。積極的に情報交換いただき大変ありがとうございました。
なおDeep Dive 2ndは6/26に開催いたします。次回も満席が予想されますのでお申し込みはお早めにお願いいたします。
お申し込みフォームはこちら。
“ASTERIA Warpユーザーの皆様をもっとハッピーに!”をモットーに日々AUGを運営しています。
Related Posts
ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。
アステリア製品デベロッパー同士をつなげ、技術情報の共有やちょっとしたの疑問解決の場とすることを目的としたコミュニティです。