問題タブ [worker-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
7727 参照

asp.net - IISWebガーデンのシングルトンオブジェクト

asp.netアプリケーションに多くのシングルトン実装があり、パフォーマンス上の理由から、アプリケーションをIISWebGarden環境に移動したいと考えています。

CMIIW、n個のワーカープロセスを使用してIIS Web Gardenに移動すると、各ワーカープロセスで1つのシングルトンオブジェクトが作成されます。これにより、 n > 1であるため、単一のオブジェクトではなくなります。

これらすべてのシングルトンオブジェクトをIISWebGardenで再びシングルトンにすることはできますか?

0 投票する
2 に答える
2070 参照

asp.net - VSでワーカープロセスにアタッチするためのより迅速な方法

私はVS2010を使用しています。VS2010では、VS組み込みのWebサーバーではなくIISを介してローカルIISサイトをテストする場合、ワーカープロセスに接続するのがさらに面倒になりました。

デバッグメニュー|を介してワーカープロセス()を選択すると、より苦痛になります。プロセスにアタッチ| w3wp.exeは、これを実行するかどうかを確認する追加のプロンプトを表示します。

これ以前でさえ、以前のバージョンのVSのプロセスに接続することは、まったく苦痛でした。私はこれを1日に200回実行する必要があり、クリックしてこれを実行するのに5〜10秒かかると多くの時間を浪費します。

これで、2つの異なるワーカープロセスが実行されている場合、選択する必要があることがわかります。しかしその前に、その添付画面にたどり着くのは単に苦痛です。

VSでワーカープロセスにアタッチするための、プロセスへのアタッチダイアログ以外のショートカットまたはより迅速な方法を知っている人はいますか?

Microsoftが素敵なツールバーアイコンや[ダイアログに添付]画面に直接ジャンプするものを追加しない理由がわかりません。さらに良いことに、ワーカープロセスをオプションとして表示するように指定するだけで、私は地獄を救うことができます。すでにアルファベット順になっているにもかかわらず、そのリストをふるいにかける時間のログの。私はまだそれに到達するためにスクロールする必要があります。

とにかく、それは今大きな迷惑になっています..私はアタッチメントを毎回そのプロセスに送る長い道のりに本当にうんざりしています。

0 投票する
0 に答える
438 参照

c# - C# ワーカー プロセス ガーデン フレームワーク

これが状況です。Internet Explorer を自動化するワーカー プロセスがあります (AxSHDocVw 経由)。このワーカー プロセスは、OS シェル上のカスタム Windows サービスを介して起動されます。作業の各バッチをタイムリーに処理するには、これらのワーカー プロセスを 4 ~ 8 個実行する必要があります。新しい作業が入るたびに、これらのプロセスを破棄して再作成する必要はありません。これらのプロセスを起動して IE をロードする際に遅延が発生するためです。

私がやりたいことは、サービスが WCF パイプを介してプリロードされたワーカー プロセスに作業を送信できるマネージド プロセス ガーデンを構築することです。

私の懸念は次のとおりです。

  • LOH が一定のしきい値を超えた場合のプロセス リサイクル
  • 任意のタイムアウト チェックなしで、ワーカー プロセスがフリーズまたはスタックしているかどうかを検出できる

私の質問は、私がここで求めていることのすべてまたはほとんどをすでに実行している、優れたオープンソース フレームワークまたはツールが書かれているものはありますか?

0 投票する
1 に答える
561 参照

asp.net - 外部参照は ASP.NET アプリケーションの速度を低下させますか? (VS: 参照の追加ダイアログ)

私のウェブサイトがますます大きくなるにつれて、私のラップトップが私のページを表示するのにかかる時間は、最小限の参照で新しいプロジェクトを言うよりもはるかに長いことに気付きました.

ASP.NET のウォームアップ時間に影響を与える変数が 2 つあります。

  • 外部参照の量
  • new()ワーカー プロセスがワーカー プロセスごとに各インスタンスを起動するのにかかる時間
  • ServiceHost が外部 DLL にある可能性があるため、WCF オブジェクトの追加の時間

まず、ASP.NET の起動時間を考慮する際に、これらの変数を考慮に入れるのは正しいでしょうか?

次に、web.config は、特定のファイル タイプ (*.svc、*.aspx、Windows Identity Foundation (WIF) など) で使用する他のオブジェクトをディスパッチする可能性があるようです。これも ASP.NET で遅延を引き起こす可能性があります。

最後に、私のプロジェクトは「Web サイト」ではなく「Web プロジェクト」として作成されます。これが影響するかどうかはわかりません。

私の理論は穴だらけですか、それとも古いラップトップでの開発を改善するためにできることはありますか?

0 投票する
2 に答える
959 参照

asp.net - IIS が別の ASP.Net AppDomains のワーカー プロセスを再利用できないようにする

IIS が ASP.Net (2.0) Web アプリケーションを再起動すると、次のいずれかが可能になります。

  • AppDomain のリサイクル: AppDomain をアンロードし、同じプロセスで新しい AppDomain をロードします (たとえば、HttpRuntime.UnloadAppDomain()が呼び出されたとき、web.config が変更されたとき)。
  • プロセスのリサイクル: AppDomain をアンロードし、新しいプロセスに新しいプロセスをロードします (たとえば、inetmgr を介して AppPool で Recycle コマンドを呼び出すとき、またはメモリ制限に達したとき)。

いくつかの内部的な理由 (依存しているレガシー ネイティブ コードの問題) により、最初のオプションは許可できません。同じプロセスでアプリケーションを 2 回ロードすることはできません。

ワーカー プロセスの再利用を許可しないように IIS に指示することはできますか?

Mutex を使用してアプリケーションがプロセス上で既に開始されているかどうかを追跡し、そうであれば - 中に例外をスローすることで、自分でそれを防ごうとしましたApplication_Start()); Environment.Exit()また、 duringを呼び出してプロセスを終了しようとしましたApplication_End()。両方の方法の問題は、Application_End または Application_Start の間に到着した要求が失敗することです (手動のプロセス リサイクルとは異なり、要求はすぐに新しいプロセスにリダイレクトされるため、まったく失敗しません)。

0 投票する
1 に答える
2150 参照

c# - ASP.NET ワーカー プロセスとアプリ ドメインが最後にいつ開始されたかをプログラムで確認しますか?

ASP.NET の場合:

  1. ASP.NET ワーカー プロセスが最後に再起動されたのはいつですか?

  2. ASP.NET では、アプリ ドメインが最後にいつリサイクルされたかをどのように確認できますか?

0 投票する
1 に答える
2122 参照

c# - WCF サービスに対するワーカー プロセスのリサイクルの影響

ワーカー プロセスのリサイクル (IIS V 6.0) が IIS でホストされている WCF サービスに与える影響 (パフォーマンス、可用性など) を知りたいです。また、構成方法に関するベスト プラクティスがあるかどうかも知りたいです。リサイクル時間またはリクエスト数。

また、リサイクルされているワーカー プロセスがインスタンス化構成がシングルに設定されているサービスと関係があるかどうかも知りたいのですが、ワーカー プロセスがリサイクルされるたびに再度インスタンス化する必要がありますか?

ありがとう!

0 投票する
1 に答える
2982 参照

multithreading - TPLの最大タスク?

WindowsAzureのワーカープロセスでTPLを使用したい。IJobをキューに追加しようとしています。これには、Runメソッドがあるため、ワーカーは次のもので構成されます。

loop get item off queue TPLを使用してIJob.Runを呼び出します。これは、非同期呼び出しです。

しかし、TPLに追加できるアイテムの最大数について少し心配していますか?必要に応じて、機能を確認するだけで、ある種の独自のTPLプールを構築できてうれしいです。

乾杯、アッシュ。

0 投票する
5 に答える
4995 参照

asp.net - ASP.NETでのシームレスな展開(IISは、新しいワーカープロセスの準備ができる前にワーカープロセスを強制終了します)

ユーザーに手間をかけずに.NETWebアプリケーションをIIS(7.5)に展開しようとしています。Disable Overlapped RecycleがFalseであることを確認しましたが、それでも毎回同じ問題が発生します。

サイトに新しいバイナリをアップロードするたびに、IISは新しいバイナリを開始する前にワーカープロセスを強制終了します。したがって、新しいバイナリをアップロードするたびに、ユーザーは次のエラーメッセージを受け取ります。

'/'アプリケーションのサーバーエラー。ファイルまたはアセンブリ'MyApplicationWeb'またはその依存関係の1つを読み込めませんでした。別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。(HRESULTからの例外:0x80070020)

これをシームレスに行う方法がわかりません。今はバイナリをアップロードするだけです。ただし、アップロード(またはローカルコピー)が発生している間は、上記の動作が得られます。Webガーデンも使ってみましたが、同じ結果になりました。

私が探していないもの:

  • 外部ロードバランサーを使用して解決する方法(これは機能的なソリューションですが、パフォーマンス的には少数のサーバーにとっては悪いソリューションであり、サーバーが1つしかない場合はまったく機能しません)
  • カスタムエラーページを更新してハックアラウンドを作成する方法(明らかな問題がいくつかありますが、さらに重要なことに、Webサービス/ ajaxではまったく機能しません)。

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/24e3c22e-79a9-4f07-a407-dbd0e7f35432.mspx?mfr=trueを考えると、これは実行可能であると本当に思います。

更新:上記の記事で彼らは言う:

ただし、シャットダウンまたはスタートアップのシャットダウンタイムアウト値は構成可能であるため、制限時間内に既存の要求の処理が完了しない場合は、要求の処理中にワーカープロセスを終了できます。

この値がどこにあるのか、デフォルトが何なのかわかりません。それが数秒未満の場合、それは私の結果を説明するかもしれません。

ps。SF /ウェブマスターなどではなく、SOに投稿しているのは、開発に積極的でない人の間では、この種の知識はおそらく最小限になると思うので、これで大丈夫だと思います。

0 投票する
3 に答える
32573 参照

asp.net - IIS 7ワーカープロセスのボトルネック、アプリケーションプールASP.NET 3.5+2.0での多数の待機中の要求

ASP.NET 2.0、.NET 2.0 Framework、およびIIS 7を使用しています。「ワーカープロセス」オプションの下に、「要求」の大きなキューが表示されます。記録された状態は、何よりもそうでAuthenticate Requestあるように見えます。Execute Request Handles

(32ビットパスと64ビットパス)を次のように修正aspnet.configしました。C:\Windows\Microsoft.NET\Framework64\v2.0.50727

(32ビットおよび64ビットパス)を次のように修正machine.configしました。C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

それでも私はこの問題を抱えています。

この問題は、ワーカープロセスキュー内の多数のリクエストとして現れます。

この問題が発生した場合、Webサイトへの現在の接続数は500を表示します。この問題が発生しない限り、500を超える同時接続は見られなかったと思います。

リクエストがブロックされると、Webアプリケーションの速度が低下します。

アプリケーションプールの更新は、負荷が2つのプールに分散されるため、しばらくの間(予想どおり)解決されます。

問題のアプリケーションプールFIXEDREQUESTは、50000に更新するように設定されています。

注:.NET 3.5フレームワークは、2.0フレームワークのappnetとマシン構成ファイルを使用していると思います。

サーバーリソース(CPU、RAM)が最大限に活用されていません。