アプリケーションサーバーのタイムアウトについて
初歩的な質問で申し訳ございません。
Magic xpa Enterprise Server 3.1で発生する現象です。
ブローカーモニタより起動が確認できるアプリケーションサーバについて
サービス:Magic xpa 3.1 Broker起動から15分程度経過すると1つずつ表示されなくなっていきます。
(Magic xpa 3.1 Broker起動直後は5スレッド分表示される)
その時、タスクマネージャー上のMagic xpa Runtime Engine(32ビット)も
ブローカーモニタ上の表示と同時に1つずつ終了していきます。
ブローカーモニタの[オプション>MRB一覧]より
Local Brokerを選択し、ブローカーのパスワードを入力、
[ブローカーモニタの動作>アプリケーションサーバ起動]よりアプリケーションサーバ名を入力し起動するとまたしばらくはエンジンが立ち上がりアプリケーションにも接続可能となります。
なんらかのタイムアウト設定値があるかと思うのですが
どちらで設定を行うかご教示いただけますでしょうか。
ブローカーモニタ上には常時5スレッド分表示されるようにしたいです。
-
管理ツール→ローカルセキュリティポリシー→ローカルポリシー→セキュリティオプション
(1)Microsoft ネットワークサーバー:セッションを中断する前に、ある一定のアイドル時間……
初期値15分を未設定にします。
(2)Microsoft ネットワークサーバー:ログオン時間を超過するとクライアントを切断する
有効→無効に変更
以上の2カ所の変更をサーバー、クライアントに行ってみて下さい。15分程度との事で、この設定が関係しているのではないかと思います。
お試し下さい。 -
ご回答いただきありがとうございます。
現在、サーバローカルで動作している状態なのでクライアント側には行っておりませんが、
いただいた2つの設定をサーバに施し再起動を行っても現象は解消しませんでした。
-
nakano-maさん、
Enterprise Serverをお使いとのことですが、同じマシンにMagic開発版も並行してインストールされているということはありませんか?
ブローカーとリクエスタの設定が、Enterprise ServerとMagic開発版とで正しく分離されていないと、外部からのリクエストがEnterprise Serverではなく、Magic開発版につながってしまい、2,000回のリクエスト制限でアプリケーションが自動終了となってしまうことがあります。この辺りを調査されるといいと思います。
ちなみに、よろしければ下記の連載もご参照ください。月額2,500円の有料コーナーですが、きっとお役に立てると思います。
第131回 1台のマシンに Magic 開発版と RIA Server を共存させる(2019年1月31日)
第138回 RIA Server と Enterprise Server を正しく同居させる方法(2019年8月31日) -
ご回答ありがとうございます。
> 同じマシンにMagic開発版も並行してインストールされているということはありませんか?
新規サーバセットアップ後に発生した事象ですので、
そのような共存環境ということもございませんでした。
Enterprise Serverのみインストールを行っております。
-
nakano-maさん、
IISのエイリアスを確認し、Magicのリクエスタへのパスが意図したところ(意図した物理パス)を指し示しているかどうかを確認されるといいと思いますよ。
-
大変お手数をおかけしております。
IISのエイリアスも特に問題ないように見えます。
一度IISを再インストールすることも検討しているのですが、
IIS周りが影響して本事象が発生する可能性もございますでしょうか。
-
アプリケーションの起動確認後、1回だけリクエストを実行し、その後何もせずに放置しても、15分くらいで落ちるのでしょうか?
-
アプリケーションの起動確認(ログインページ表示)後、
まったく何もしない状態でブローカーモニタを開いたままにしても
最初は5明細(5スレッド分)表示されていたアプリケーションサーバが消えていきます……
情報が五月雨となってしまい申し訳ないのですが、
今回移行作業として実施しており、旧サーバ(Win2016)では問題なく動作しているものが
新サーバ(Win2019)にセットアップしたところこのような状態となっております。
また、ブローカーモニタ上からアプリケーションサーバが表示されなくなるまでの15分ほどは
アプリケーションは問題なく動作しているように見えます。
セキュリティソフトは停止している状態です。
-
> 最初は5明細(5スレッド分)表示されていたアプリケーションサーバが消えていきます……
5スレッド版をお使いであっても、普通はブローカーモニターの表示は1行で済むのですが、5行あるということはアプリケーションを5個並行稼働させているということでしょうか?
-
>アプリケーションを5個並行稼働させているということでしょうか?
そのご認識で合っております。
旧サーバ側では5行が常時表示されている状態です。
-
確認ですが、5スレッド版をお使いで、5個のアプリケーションに対してスレッドを分散させているとなると、1アプリケーション当たりのスレッドの割り当ては、たった1個だけという設定なのでしょうか?
-
こんにちは
そういった場合には、必ずmgerrorログに原因が記録されていると思いますが、どのようなログになっていますか?
過去に経験したのでは、①ライセンス数超過 ②なんらかのPGエラーでエンジンが異常終了する ③ライセンスのメンテナンス期限が切れている などです。
リクエストが来て、アプリからデータベースへの接続が発生してのエラーなら②も考えられますが
5つの別々のアプリが同時に落ちるなら②は考えにくいですね。
濃い線としたら、やはり①か③でしょうか?
(新旧のサーバが同じセグメントにあって、同じライセンスファイルを使用しているとライセンス超過になります)
いずれにせよ、MGERRORログに原因は記録されていると思いますよ。
HAYATO@アインシュタイン設計社
-
HAYATOさん、
おっしゃる通り、どこかでライセンスエラーを起こしている可能性が高いですね。
5スレッド版で、5個のアプリケーションの稼働をお尋ねしたのはその設定の確認もあります。
バックグラウンド実行の場合、ライセンスエラーはサーバのコンソールに表示されませんので、気が付かないことが多いです。
-
5 x 5 = 25 のスレッドライセンスが要求されているのではないでしょうか?
-
現象が発生した時間とは合いませんが、C:\Program Files (x86)\Magicxpa\Enterprise Server 3.1\mgerror.logn内には以下の記述だけありました。
<-1> 09/08/2023 21:31:51.839 [Error ] - "Java Virtual Machine: Cannot be loaded (status: -1)"
==============================================
PID 5660 09/08/2023 21:33:29
==============================================> (新旧のサーバが同じセグメントにあって、同じライセンスファイルを使用しているとライセンス超過になります)
エラーは出ておりませんが、上記が非常に怪しいと思います。
私が環境設定を行い、開発者が別に存在するのですが、新旧サーバ同セグメント上に立っている状況です。
私がMagicについて不勉強のため以下のようなやりとりを開発者と行ったのですが、
私のライセンス申請の方法が誤っているか開発者の回答が誤っている可能性はございますでしょうか。
Win2016、Win2019はともにMagic xpa Enterprise Server 3.1が対応しているため、並行も可能との認識であったのですが……
【私の質問】
> ・サーバ移行に伴い新旧サーバの並行期間が発生しますが、
> アクティベーション作業等、特に問題なく可能でしょうか。
> ・上記アクティベーションについて新規媒体購入時と異なる
> 手順など存在いたしますか。
> 手順書などございましたらご共有いただきたく思います。【開発者の回答】
Magicは現在ご利用のxpa3.1a版と同じですので、
入替後のサーバーにもMagicはxpa3.1aをインストール頂ければと存じます。
ライセンス登録の際に、新しいサーバーのホストIDにてサーバー機器変更等で申請して頂ければと存じます。
新サーバーへのインストールは、新規と同じようにインストールして頂ければと存じます。
ただ、Magicのライセンス登録の際に、新サーバーのホストID申請時に、サーバー機器変更としていただければと存じます。
また移行中の並行稼働であれば問題ございません。【行った操作】
https://apps2.magicsoftware.co.jp/udclink
上記サイトの[購入製品情報一覧>Magic xpa 3.x]より
登録済みの製品を選び購入製品情報更新からホストIDを新サーバのものに変更し発行理由を再発行で更新
-
nakano-maさん、
ホストID変更の手順についてのやり取りをユーザーズフォーラムで行うのは、ちょっと無理があるような気がします。正式な手順を踏まれた方がいいと思います。
あいだに業者さんが存在するようでしたら、そちらに相談されたほうがよろしいかと。。。
-
ぼんやりした記憶ですが、Gigaspace(?)のJAVAのバージョンとMagic.INIに設定されたバージョンが異なる場合に正常に動作しなかったということがありました。
全く見当違いかもしれませんが。。。
-
皆様
大変丁寧にご回答いただきありがとうございます。
一度切り分けのため、ネットワークから隔離した状態で現象が再現するか確認し、
結果ご報告させていただきます。 -
旧サーバとネットワーク的に隔離された状態にしても現象が再現してしまいました。
ライセンスの入力時には[正しいライセンス情報です]とのメッセージが
表示されたのと合わせてライセンスの問題はないように思えるのですが、厳しい状況です。
mgerror.lognにも新規の行は出力されていませんでした。
-
nakano-maさん、
ブローカーモニターをもう一度、確認されたほうがいいですよ。
モニターには「5行」が存在するとのことですが、各行の最大スレッド数の表示はいくつになっていますか?もし、最大スレッド数が「5」になっていて、なおかつそういった行が「5行」存在するとなると、
「5」スレッド x「5」アプリケーション =「25」スレッドの消費
という計算になります。5スレッド版のEnterprise Serverをお使いとのことですので、これでは20スレッド分のライセンス不足ということになります。最大スレッドの割当てを再確認されたほうがいいと思います。
-
tanda様
ありがとうございます。
旧サーバのブローカーモニタ、サービス再起動直後の新サーバのブローカーモニタ両方を確認しましたが、
最大スレッド数1で5行並ぶ形となっていました。
-
なお、ライセンスエラーは実行直後には判定されないですよ。実行されるアプリケーションが追加されたり、実行クライアント数が増えたりするたびに、その都度環境がチェックされ、数分〜数10分経過してはじめて、エラー判定が出ます。
-
最大スレッドが「1」という環境ですと、時間の掛かるバッチが1本走っただけで、空きスレッドが無しという状況になってしまいますよ。
-
申し訳ございません。
今しがたブローカーモニタmgerror.logを確認したところ
ライセンスエラーのメッセージが出力されておりました。
-
はい、どこかでライセンスが超過しているのだと思います。
お話しを伺っていて今ふと思ったのですが、ひょっとして、同じアプリケーションを1スレッドずつ、5回起動されているのでしょうか?
-
ブローカーモニタ上、アプリケーション名は同名のものが5つ並んでいます。
また、実際動作するアプリも単一のものです。
-
やっぱりですね!
その設定でも動かないことはないと思いますが、アプリケーションの起動を1回(1個)だけにして、そのインスタンスに5スレッドのすべてを割り当てたほうがいいですよ。
あと、ライセンスの超過エラーはそれが関連した問題なのか、あるいはホスト移行時の重複設定の問題か、さらなる切り分けが必要になるかと思いますが、障害の切り分けは1歩進んだようですね。
-
nakano-maさん、
念のための確認なんですが、Enterprise Serverの「環境設定ツール」で、「動作環境」→「アプリケーションサーバ」→「最大並行ユーザ数」の欄の設定はどうなっていますか?
確認してみてください。
-
tanda様
コメントありがとうございます。
あれからlog上の各エラーは出力されなくなりましたが
Magic、IISのアンインストール→再インストール後も現象が解消しない状態です。
環境設定ツールから確認した「最大並行ユーザ数」は"-1"となっており、
iniファイルのMaxConcurrentUsersは0となっておりましたが、
試しにどちらの値も"5"にしても現象は解消しませんでした。
-
nakano-maさん、
> 環境設定ツールから確認した「最大並行ユーザ数」は"-1"となっており、
> iniファイルのMaxConcurrentUsersは0となっておりましたが、「最大並行ユーザ数」は「-1」で正解ですが、ここが「-1」になっているときは、magic.iniの「MaxConcurrentUsers」の値も「-1」になっているはずですよ。
やはり、「動作環境」と「magic.ini」が別の場所を指しているように思えます。
IISのエイリアスを徹底調査して、外部から入ってくるリクエスタのパスが、物理パスのどこを指しているのかを再確認されたほうがいいですよ。
サインインしてコメントを残してください。
コメント
34件のコメント