問題タブ [perfmon]
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.
wcf - perfmonを使用してnettcpbindingでWebサービスから「送信された合計バイト数」を測定する
http エンドポイントと tcp エンドポイント (nettcpbinding を使用) の両方を公開する Web サービス (WCF) があります。さまざまなエンドポイントを使用して、「送信された合計バイト数」の違いを測定しようとしています。
perfmon を使用してみましたが、パフォーマンス カウンターを確認しました: Web サービス > 送信された合計バイト数。ただし、これは http トラフィックのみを測定しているようです。これを確認できる人はいますか? tcp トラフィックが数値をインクリメントするようには見えません。
perfmon にも TCP カテゴリがありますが、「送信された合計バイト数」はありません。perfmon は仕事に適したツールではありませんか?
web-services - キューに入れられた Web サービス要求の Perfmon カウンター
Web サービス要求キューの数を示す Web サービスのパフォーマンス カウンターはありますか?
Asp リクエスト キュー用に 1 つありますが、Web サービス用に 1 つはありますか?
これらは wcf Web サービスではなく、asmx 拡張子を持つ従来の Web サービスです。
c# - C#/perfmon のカスタム パフォーマンス カウンター
こんにちは、perfmon で使用するカスタム パフォーマンス カウンターを作成しようとしています。次のコードはかなりうまく機能しますが、1 つ問題があります。
このソリューションでは、パフォーマンス カウンターの値を更新するタイマーがありますが、必要なデータを取得するためにこの実行可能ファイルを実行する必要はありません。つまり、カウンターを一度だけインストールしてから、データに対して perfmon クエリを実行できるようにしたいと考えています (事前にインストールされているすべてのカウンターと同様)。
どうすればこれを達成できますか?
}
asp.net - ライブ ASP.NET MVC Web アプリケーションのメモリ使用量を測定する方法は?
この質問が別の StackExchange サイトにより適しているかどうかはわかりません。
Windows Server 2008 および IIS 7.5 で ASP.NET MVC 3 Web アプリケーションを実行しています。
サイトは最初は正常に動作しますが、メモリ使用量が徐々に増加していることがわかります。約 12 時間後、メモリがほとんどなくなり、サイトが停止します。
私は多くのキャッシュを使用しているので、これとメモリリークの可能性が組み合わさって問題の原因であると考えています。
私の質問 - ASP.NET MVC を実行している Web サーバーでメモリ使用量を監視するための最良の方法 (ツールなど) は何ですか?
以前は、古き良き perfmon を使用し、IIS カウンターを使用してこれらを測定していました。
これはまだ最善の方法です。もしそうなら、誰かが私のシナリオに適した perfmon カウンター テンプレートを推奨できますか?
wcf - ServiceModelOperation カウンターが表示されない
Windows 2008、IIS7、.NET Framework 4.0 (Amazon EC2) で多数の WCF サービスを実行しています。ServiceModelService 4.0.0.0 で使用可能なカウンターを確認できます。
より詳細な操作レベル カウンターに関心があるため、サービスで有効にしました。しかし、これを行っても (ワーカー プロセスをリサイクルしても)、操作レベル (またはエンドポイント カウンター) は依然として perfmon に表示されません。サービス レベルのみが利用可能です。
何が問題なのか教えていただけますか?
ありがとう、ピョートル
wcf - WCF メッセージ セキュリティ - PerCall
単一の IIS7 アプリケーション サーバーでホストされている WCF wsHttp サービスを呼び出す 2 つのサーバー間で負荷分散された Web サイトがあります。
先週、ウェブサイトが立ち上げられ、パフォーマンスの問題が発生しました。
このシステムはオフショア チームによって構築されましたが、調査を依頼されました。
perfmon をロードし、asp.net カウンターを使用して現在のセッションを表示しました。これが約 25 を超えると、Web サイトの速度が大幅に低下することがわかりました。次の 10 分間で約 250 まで増加し続け、その後 0 まで低下し、サイトのパフォーマンスは素晴らしいものになります。
これはサイクルで続きました - 悪いニュースです!
翌日、オフショア チームから、セキュリティを無効にすることで問題を解決したと連絡がありました。
wsHttpバインディングのセキュリティを無効にすると、WCFがセッションごとのインスタンスの作成から呼び出しごとのインスタンスの作成に変更されたという理論があります。したがって、サービス要求のスループットがはるかに高くなります。これは良い理論ですか?
これをテストするための単純なモデル、IIS でホストされるいくつかのメソッド、および複数の要求を生成する単純なクライアントを作成しました。これは私が期待した結果を与えるようです。問題は、安全なバインディングが使用されていない場合に、キューに入れられるリクエストが少なくなり、同時に作成されるインスタンスが増えることを証明する正しい perfmon カウンターを見つけるのに苦労していることです。
使用するのに最適な perfmon カウンターについてアドバイスをいただけますか?
OK、これについてはまた別の日に、さらに質問があります!
私のテスト アプリには、3 つの異なる wsHttp バインディングを持つ 3 つのサービス クラスがあります。
- セキュリティなし
- メッセージ セキュリティ
- クラスに [ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)] が設定されているメッセージ セキュリティ
クライアントで 40 のループ内から、新しいスレッドを開始し、サービスを呼び出します。サービス 1 を呼び出すと、サービスはすべての要求を 1 秒以内に完了します。
サービス 2 を呼び出すと、サービスはすべての要求を 33 秒で完了します。
サービス 3 を呼び出すときは、サービスが 4 つの呼び出しのそれぞれに対して新しいサービス オブジェクトをインスタンス化することを期待しているため、サービス 1 とほぼ同じくらい高速であると予想されます。ただし、これを実行することはないようです (私はまだ意味のある perfmon カウンターを持っていません!)。完了までの合計時間も 33 秒です。
サービスからの構成は次のとおりです。
クライアントからの構成は次のとおりです。
構成設定が不足していると思いますか?または、サーバー オブジェクトはセッションごとにインスタンス化する必要があり、クライアントごとに 1 つのセッションしか作成されないため、wsHttp 経由でメッセージ セキュリティを使用する複数の呼び出しは常に非常に遅くなるでしょうか?
どうもありがとう
ロブ。
perfmon - Perfmonのベストプラクティスのサンプリングレートはどれくらいですか?
Perfmonで許容できるサンプリングレートはどれくらいですか?明らかに、サンプリングの頻度が高いほど、パフォーマンスのサンプリングがマシンのパフォーマンスに影響を与えます。私はそこにいる誰かがそのようなことについて良い経験則を持っていることを望んでいます。
証拠と統計はさらに良いでしょうが、私は一般的に受け入れられているベストプラクティスに満足しています。
instrumentation - vsperfmonがasp.netmvcWebサイトのカバレッジデータを収集していません
vsperfmonを使用して、asp.netmvcWebサイトのコードカバレッジ情報を収集しています。私の最終的な目標は、Webサイトに対してブラウザー自動化テストを実行しているときにコードカバレッジデータを収集することです。これが私が今していることです
- vsinstr.exeを使用して、asp.netmvcWebサイトvsinstr.exe/coverageのDLLをインストルメント化します。
カバレッジモードでperfmonを起動しますvsperfmon/start:coverage / output:c:\ result.coverage / user:
ここでユーザー名については、「ネットワークサービス」、「全員」、および自分のWebサイトのアプリプール用に構成されたユーザーを試しました。クロスセッションオプションも試しました。
- 数分間ウェブサイトを閲覧する
perfmon vsperfcmd/shutdownをシャットダウンします
また、手順4を実行する前にIISをシャットダウンしてみました
この後、Visual Studioでresults.coverageを見ると、カバレッジファイルが空であると表示されます。
私はこのビデオをフォローしています-http://www.asp.net/visual-studio-team-system/videos/how-do-i-enable-code-coverage-and-profiling-in-production-applications
ここで何かが足りないのですか
c# - C#のメモリリーク?? Gen 0 および 1 が perfmon で常に増加しています - これはどういう意味ですか?
アンマネージ dll から 1 秒あたり少なくとも千のコールバックを受信し、定期的にソケットからメッセージを送信するマルチスレッド アプリケーションに C# 2.0 を使用しています。GUI はメイン スレッドに残ります。
私のアプリケーションは、ほとんどの場合、起動時にオブジェクトを作成し、実行中に定期的に短期間だけ作成します。
私が経験している問題は、GC の実行時に発生すると思われる定期的なレイテンシ スパイク (開始時と終了時の関数のタイム スタンプによって測定される) です。
私はperfmonを実行しましたが、これが私の観察結果です...
Gen0 ヒープ サイズはフラットで、数秒ごとに定期的なスパイクがあります。
Gen1 ヒープ サイズは常にロール上にあります。上下
Gen2 ヒープ サイズはサイクルに従います。しばらく平らになるまで増加し続け、その後低下します。
第 0 世代および第 1 世代のコレクションは、常に 1 ~ 5 ユニットの範囲で増加しています。Gen 2 コレクションは一定です。
c# - 「.NET CLR Exceptions」カテゴリの Perfmon カウンタの読み取り
カテゴリ「.NET CLR Exceptions」の perfmon カウンターを読み取ろうとしています。以下は同じコードです。私が見ているのは、作成した Windows Perfmon カウンターとコンソール アプリケーションに異なるデータが表示されているように見えることです。
ここで何か間違ったことをしている場合に備えて、誰かが私を正しい方向に向けていただければ幸いです。