問題タブ [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.
iis - IISワーカーは、リサイクル時にクリアセッション変数を処理しますか?
IIS6でasp.netWebアプリを作成しており、ユーザーログイン変数をセッションに格納することを計画しています。これは、ワーカープロセスがリサイクルされるときに削除されますか?
web-services - 要求に応じてIISワーカープロセスをターゲットにする
わかりました、奇妙な設定、奇妙な質問。asp.net-2.0/iis-6で実行されているSaaSアプリ用のクライアントと管理者のWebアプリケーションがあります。管理アプリケーションは、クライアントアプリケーションに表示されるオプションを変更できます。これらのオプションが管理者に保存されると、管理者からクライアント上のWebサービスを呼び出して、その特定のアカウントのオプションのキャッシュをフラッシュします。
最近、クライアントアプリケーションに1を超えるワーカープロセスを提供し始めたため、オプションのキャッシュは、現在実行中のワーカープロセスの1つでのみクリアされます。
したがって、この問題を修正する方法は他にもあります(ただし、入力は歓迎されます)が、私の質問は、Webリクエストを介して各ワーカープロセスをターゲット/反復する方法はありますか?
asp.net - 多くのメモリを使用するIISワーカープロセス?
サーバー上に 1 つの Web サイトがあり、IIS ワーカー プロセスは一貫して 4 GB の RAM を使用しています。何を確認すればよいですか?
performance - IIS6 アプリケーション プールでプロセス固有のパフォーマンス統計を表示する信頼できる方法
Windows Server 2003 の perfmon には、プロセスごとのプロセッサ時間とメモリのワーキング セット統計を取得するカウンター オブジェクトがあります。唯一の問題は、複数のアプリケーション プールがある環境では、正しいワーカー プロセスを確実に識別する方法がないことです。perfmon ではそれらをすべて「w3wp」と呼び、複数ある場合は w3wp、w3wp#1、w3wp#2 などと呼びます。これらの名前でさえ信頼できません。番号はどちらが最初に開始されたかによって異なり、プロセスが破棄されて再起動されるため、アプリ プールがリサイクルされると明らかに変化します。
ASP.NET 固有のカウンターが見つかりませんでした。何らかの理由で、IIS オブジェクトがインスタンスを分離していません。"グローバル" インスタンスが 1 つしかありません。
最終的には、特定の IIS アプリケーション プールの "% Processor Time" カウンターと "Working Set" カウンターだけが必要です。助言がありますか?
iis - IIS アプリケーション プール - 停止/開始とリサイクル
実稼働 Web アプリの 1 つで、アプリ プールを手動でリサイクルすると、タスク マネージャーでの監視に基づいて、リサイクルされたワーカー プロセスが実際に完全に破棄されるまでに 60 秒以上かかる場合があることに気付きました。ただし、アプリ プールを完全に停止すると、ワーカー プロセスはほぼ瞬時 (1 ~ 2 秒以内) に終了します。
だから、私の質問は2つあります:
a) アプリケーション プールが停止する代わりにリサイクルされると、プロセスを破棄する (そしてより意味のあることに、プロセスによって使用/ロックされているリソースを解放する) のに時間がかかるのはなぜですか? と
b) トラフィックがサーバーに向けられるのを停止したと仮定すると、リサイクルの代わりに停止/開始しない理由はありますか?
編集:
明確にするために、アプリケーション プールをリサイクルまたは停止する前に、トラフィックが問題のサーバーに送信されるのを停止します (サーバーは負荷分散されたクラスターにあり、サーバーをロード バランサーから削除します)。したがって、理論的には、アプリケーション プールに対して何かを行っているときに Web サイトにリクエストが来ることはありません。
Part Deux の編集:
Igal のリンクを読んだ後、何が起こっているのかは明らかです。アプリ プールをリサイクルすると、新しいプロセスが開始されますが、トラフィックがまったくないため、新しいプロセスが機能していると登録されていないため、タイムアウト (90 分) になるまで古いプロセスはシャットダウンされません。秒)。
その知識があれば、「リサイクル」機能はライブサーバーの途中で使用することを特に意図していることは明らかです。事前に手動でトラフィックを排出しているので、代わりに停止/開始を使用する必要があります。
asp.net - IISで一度に複数の要求によって静的メンバー変数にアクセスされないようにするにはどうすればよいですか?
IISがスレッドで静的変数をどのように処理しているかを理解するのに問題があります。私の理解では、IISに4つのワーカープロセスがあり、4つの要求を同時に処理でき、4つの別々のスレッドがWebサイトを実行しているのと同じであると常に理解しています。静的変数は、個々のスレッドごとに保持されます。私が少し混乱している理由は、接続とキャッシングトランザクションを管理するスコープを作成したためです。アプリをテストしているときは問題はありませんが、コンパイルして2つの異なる場所から同時にヒットした後、ある種の競合が発生しているようです。さて、これらのワーカープロセスが分離しているとしたら、なぜそうなるのでしょうか。1つのワーカースレッドで同時に複数のリクエストを処理できますか?これらの機能を管理するオブジェクトのエスカレーションを処理するためにこれらの静的メンバーに保持されている一意のIDがあり、同じオブジェクトにアクセスしようとしているように見えるため、これは非常に重要です。
これは、x64マシン上のVistaのIISサーバーで実行しています。
編集
単一のリクエストでスレッドを介して永続化する必要がある値については、これらの値を入れてWeb.HttpContext.Current.Items
、うまくいくようです。
<ThreadStatic()>
使用できますが、リクエストプロセスの終了時に使用できない場合があります。私が持っている1つのモジュールでは、そのスレッドがすでにcahcingサーバーの設定をロードしているかどうかを示すために変数でのみ使用されます。trueの場合、トレッド(asp.netではない)はキャッシュサーバーからデータをフェッチする準備ができています。
iis-6 - ワーカー プロセスが許容処理時間に達しました
この問題は、約 1 か月に 1 回発生しています。原因を特定するのは非常に難しいので、助けていただければ幸いです。これにより、アプリ プールが停止し、サイトがダウンします。すべてのログ ファイルを確認しましたが、結論は出ていません。IIS 6 で 2.0.3 バージョンを使用しています。
c# - ワーカープロセスをリサイクルするために必要な使用メモリ量の経験則は?
私はこれをたくさん含むコードベースを持っています:
IIS サーバーを制御していないため、システム ログを表示したり、インストルメンテーションを実行したりできません。要求が返されない (死のホワイト ページ) と、メモリ不足エラーを伴う YSOD が表示されることがあります。
IIS5 または IIS6 がワーク プロセスを強制終了するか、単にキール オーバーして終了する前に、メモリにロードできるデータの最大量について経験則を持っている人はいますか?
または、さらに良いことに、次のような API 呼び出しがありますか。
私の XP Pro ワークステーションでは、ASP.NET ページを取得してメモリ内の非常に大きなバイト配列を正常に処理できますが、これらの結果は明らかに実際の共有サーバーには当てはまりません。