次の方法で共有

RDP切断後のアプリケーションの継続動作について

Anonymous
2022-09-13T10:47:47+00:00

はじめまして。

現在、RDPを使用してWindows10にアクセスし、webアプリケーションを動作させております。

長時間の動作が必要となるため、アプリを起動したらRDPを切断し、アプリ自体はリモートデスクトップ上で、継続動作させるようにしたいと考えております。

しかし、RDPを切断して数分経つと、webアプリケーションの動作が非常に遅くなる事象が確認されました。

具体的に申しますと、アプリ上でwebsocket接続していて、メッセージの送受信をしているのですが、そのwebsocket上でのメッセージの送受信が非常に重くなり、場合によってはそもそも送信がされないこともあります。

なお、RDPを切断しない場合は特に問題は無く、また、動作が重くなった後でも再度接続すると動作が回復します。

そこで、RDPの切断に関する挙動について教えてください。

上記の通り、RDPの切断を契機に起動しているアプリの動作が重くなる事象が確認できております。

RDPの切断の仕組み的に、特定のサービスの挙動の優先順位を意図的に下げたり、なにかしらweb関連のパフォーマンスに影響があるような挙動をすることは考えられますでしょうか。

例えば、websocketはTCPなので、NW関連のパフォーマンスが重くなりHOLブロッキングが発生していることも考えられると思っています。

もしくは、本事象について、他に何かしら原因となり得る要素や、原因切り分けとして良さそうな方法があればご意見をいただけないでしょうか。

よろしくお願いいたします。

家庭向け Windows | Windows 10 | パフォーマンスとシステムの失敗

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

17 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2022-09-13T12:48:00+00:00

    Web アプリを動作させるというのが飛躍しすぎているように感じますが、単にブラウザーを放置して切断したら、ちゃんと動かないってことじゃないですか?

    なお、リモートデスクトップを切断すると、グラフィック関係の切り替わりは発生します。
    (リモートデスクトップ用のグラフィックデバイスが稼働している状態から、本来の PC 側のグラフィックデバイスへ)

    ハードウェアアクセラレーションを使っているアプリなら、それによる影響は何かあるかもしれませんね。

    2 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  3. Anonymous
    2022-09-13T13:26:55+00:00

    ご回答ありがとうございます。

    Web アプリを動作させるというのが飛躍しすぎているように感じますが、単にブラウザーを放置して切断したら、ちゃんと動かないってことじゃないですか?

    おっしゃるとおりで、Chromiumで作成したものを使用しております。正確に言うとブラウザベースのアプリとは別でAPI連携しているデスクトップアプリも起動しております。

    なお、リモートデスクトップを切断すると、グラフィック関係の切り替わりは発生します。
    (リモートデスクトップ用のグラフィックデバイスが稼働している状態から、本来の PC 側のグラフィックデバイスへ)

    ハードウェアアクセラレーションを使っているアプリなら、それによる影響は何かあるかもしれませんね。

    こちらについても、まさにGPUを使ったハードウェアエンコードも動かしていたため、これが原因かと思い一度x264でのエンコードに設定して見たのですが、状況変わらずでした。。

    0 件のコメント コメントはありません
  4. Anonymous
    2022-09-13T12:22:47+00:00

    はじめまして。

    現在、RDPを使用してWindows10にアクセスし、webアプリケーションを動作させております。

    長時間の動作が必要となるため、アプリを起動したらRDPを切断し、アプリ自体はリモートデスクトップ上で、継続動作させるようにしたいと考えております。

    普通はその様な場合、Windowsサービスとして実行できるアプリにすると思うが。もっと原始的なプログラムであれば、UNIX deamonライクなものにするのが定石。

    RDPで接続するしないにかかわらず、指定された優先度で実行できるはずです。

    0 件のコメント コメントはありません
  5. hidaka 56,101 評価のポイント MVP ボランティア モデレーター
    2022-09-13T11:44:28+00:00

    長時間の動作が必要となるため、アプリを起動したらRDPを切断し、アプリ自体はリモートデスクトップ上で、継続動作させるようにしたいと考えております。

    申し訳ございませんが、正直言って複雑過ぎて、理解出来ません。

    普通に考えると、その接続先で動作するWebサービスなりIPベースでの、長時間の動作が可能なサービスを作れば、RDP等は使わずにかなり軽量な、例えばマイクロサービスとかクライアントサーバーとかの実装で済むと思うのですが、それが出来ない根本的な理由なり制約条件があるのだと思うのです。

    それを説明していないので、恐らくこの複雑なシステムと実装方法の全体が見えず、原因の推定まで、誰も行き着かないと思います。質問の本題では無いので、余計なお世話でしたらば失礼しました。その場合は無視して下さい。

    0 件のコメント コメントはありません