1

私は OLAP アプリケーション、WCF + Silverlight クライアント (最大 100 人の同時ユーザー) に取り組んでいます。残念なことに、特定のサービス コールが異常な状態になることがあり (完全に有効ですが、複雑すぎます)、(月に 1 回) サーバー全体がダウンすることがあります (すべての CPU を消費します)。

解決策には、ビジネスの観点からは大したことではないユーザー要求またはユーザー セッション全体を強制終了することが含まれます。アプリケーション全体の回復/再起動は重要です。

ユーザー セッションを個別のプロセスに分離するというアイデアは非常に魅力的です。CPU/メモリのスロットリングとクリーンなリソースの破棄 (Thread.Abort とは異なります) - 最新のブラウザーが Web ページに対してのみこれを実行できる場合は、サーバーでこれを実行するときが来たのかもしれません。この概念を評価し、特定のシナリオでの長所と短所を確認したいだけです。

したがって、質問:

  1. プロセスの管理に役立つ既存のライブラリ/フレームワーク (プロセスの事前生成/再利用、スロットリング、タイムアウト後の強制終了など) は既にありますか?
  2. そのようなアーキテクチャを作成するための「ベスト プラクティス」またはガイドラインはありますか?
4

1 に答える 1

0

私はWCFサービスで同じ問題を抱えていました。それらも100を超えるクライアントにサービスを提供しています。IISログ(C:\ Windows \ System32 \ LogFiles \ HTTPERR)を使用して発見した問題IIS設定でのアプリケーションプールのリサイクルタイムアウトに問題が見つかりました。アプリケーションプールは48時間ごとに再起動されていたため、既にサブスクライブしているクライアントで問題が発生していました。だから私は提案します1.httpエラーログとIISログを分析します。これにより、シャットダウンまたはリサイクルされた場合に、すべてのアプリケーションプールのステータスに関する詳細情報が得られます。2.アプリケーションプールがクラッシュした場合は、Windbgをセットアップし、プロセスをアタッチして正しいソースファイルパスを設定します。例外が発生している場合は、場所が表示されます。

于 2013-01-19T05:41:31.723 に答える