解決策

  

現象1:マシンがIISをデバッグまたは許可している場合、サービスは中止され(停電など)、IISは再びページを実行します。再起動しても、CPUリソースは100%を占めます。原因:割り込みが発生すると、IISは例外ログを書き込みますが、この時点で文字化けした文字が書き込まれるため、IISはログの無限ループを書き込み、システムリソースを使い果たします。システムパス\\ System32 \\ Logfiles \\ W3SVC1の下にあるその日のエラーログファイルを見つけることで上記を確認できます。解決策:ex060904.logなど、システムパス\\ System32 \\ Logfiles \\ W3SVC1の下にあるその日のエラーログファイルを削除し、IISを再起動します。

以下はシナリオ2です。

環境:win2003server + IIs + ASP + MSSQL

現象:時々刻々(無期限、時々数分、時々30分) Webサイトが非常にゆっくり開かれると、時にはサイトを開くためのタイムアウトが発生しますこの時点で、サーバーのプロセスが見られ、CPU使用率が100%に達し、そのうちw3wpは70〜80%を占め、SQLは20〜30%を占めます。初期の解決策:この現象が発生するたびに、サーバーにログインしてw3wpプロセスを終了するか、IISサービスを再起動してください(平均1日10回程度)サーバーはリモートコンピュータールームに保管されているため、すべての操作はリモートで制御されます。リモートアクセスの場合には、遠隔地に接続することが不可能な場合があり、サーバー管理者に電話で通知するだけでサーバーを再起動させることができますが、その原因のほとんどは不当なWebページコードによるものです。

1.アプリケーションやセッションなどのサーバーキャッシュがコード内の複数の場所で使用されているため、サーバーデータが過剰に使用されています; 2.コードに無理な構文、無限ループなどがあります。 、特にACCESSデータベース; 4、インストールされているサードパーティ製のソフトウェアまたはプラグインが多すぎるため、IISまたはWebページの機能コードと競合します。

調査の最初の段階:参照されている参考資料によると、アイテムごとに分析されています。

1.サーバー上のWebサイトコードはすべて会社の設計者によって書かれています。文法(除外)2、コードに不合理な文法(不明)3、状況に応じて、IISプロセスの占有率が増加すると、SQLの占有率が同時に増加し、現象の判断によると、SQLデータベースのサイトでなければならない、ライブラリまたはテーブルが正常であるべきである、それはデータが間違っている可能性があると推定される;(不明)4、基本的なシステムサービス、ウイルス対策およびWebサイトの操作に不可欠なサービスに加えてサーバー側、冗長なサードパーティ製のソフトウェアはありません)

上記の分析と判断の結果、不確実な項目が関連しているとの結論は、SQLデータベースを使用するWebサイトのWebページコードの不適切な文法により、IISおよびSQLプロセスのCPU使用率が高くなりすぎるということです。

第2段階のトラブルシューティング:

範囲を決めてから、範囲を狭めます。 SQLデータベースを使用するサイトはあまり多くないため、監視する独立したプロセスIDを設定するのは簡単ですIISデータベースでSQLデータベースを使用するすべてのサイトに個別のアプリケーションプールを設定し、CMDインターフェイスを介して入力します。各IISプールのプロセスID番号を確認して記録します複数の現象が再発するのを観察することで、この問題の原因となっているIISプロセスIDがわかります。

以下はスキーム3です。

IIS6では、w3wp.exeのメモリとCPUの使用量が間に合わないため、サーバーの応答が遅くなります。あまりにも多くのメモリ使用量を解決するには、次の設定を行うことができます。1. IISの各Webサイトに個別のアプリケーションプールを設定します。つまり、お互いに影響することはありません。 2、アプリケーションプールのリサイクル時間を設定し、デフォルトは1720時間です、状況に応じて変更することができます。その後、メモリ使用量(500Mなど)を設定すると、自動的にメモリが再利用されます。

過剰なCPU使用率を解決します。1. IISの各Webサイトに個別のアプリケーションプールを設定します。つまり、お互いに影響することはありません。 2.アプリケーションプールのCPU監視を25%以下(サーバーは4CPU)に設定し、毎分更新し、制限を超えたときに閉じます。

w3wpによると、アプリケーションプールは1つです。1.タスクマネージャにdisplay pidフィールドを追加します。最も高いメモリまたはCPUを占有しているプロセスを確認できます2.コマンドプロンプトでiisapp -aを実行します。初めて実行したときは、jsのサポートがないことを確認するメッセージが表示されます。[OK]をクリックします。その後、もう一度実行してください。これにより、pidに対応するアプリケーションプールが表示されます。 (iisappは実際にはC:\\ windows \\ system32ディレクトリに格納されているVBSスクリプトです。フルネームはiisapp.vbsです。あなたも私もVbsデフォルトアソシエーションプログラムから禁止されている場合は、手動でディレクトリに移動する必要がありますopenメソッドを選択し、実行するには "Microsoft(R)Windows Based Script Host"を選択します。IDとアプリケーションプールの対応関係を取得できます。3、iisでアプリケーションプールの対応するサイトを表示するには、[OK]をクリックします。 、上記のメモリまたはCPUの制限を行うか、プログラムでデッドループやその他の問題を確認してください。

Copyright © Windowsの知識 All Rights Reserved