問題タブ [mvc-mini-profiler]
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.
asp.net-mvc - MvcMiniProfiler の構成
asp.net mvc 3 アプリケーションで mvc miniprofiler を構成しようとしています。問題は、ビューで MiniProfiler クラスにアクセスできないことです (Webforms ビューエンジンを使用しています)。私はいくつかのことを試しました
- web.config (メイン web.config) のページ ディレクティブの下に名前空間を追加
- web.config の page ディレクティブの下に名前空間を追加 (views フォルダーの web.config)
- ビューに名前空間をインポートする
でも書くときは
私の見解では、MiniProfiler が現在のコンテキストに存在しないことを通知します。
asp.net-mvc - Linq-to-SQL で DataContext の異なるオーバーロードを使用する
データベースの永続性のためにLinq-to-SQLを使用しています。以前はDataContext
、リポジトリで次のようにインスタンス化していました。
mvc ミニ プロファイラーを使用してデータベースをプロファイリングしたいので、次のアプローチDataContext
を使用してオブジェクトを作成しました。
オブジェクトは問題なく取得できDataContext
ますが、このオブジェクトに対して Linq クエリを実行すると、以前は正常に機能していたメソッドで null 参照例外が発生します。なぜこのように振る舞うのか、何か考えはありますか?
編集:わかりました、これはnull参照例外を与えているliqnクエリです
nullであるdbではなく、sysModulesを展開すると実際に例外がスローされることに注意してください。
ここで結果ビューで sysmodules を展開しようとしたときの次のスクリーン ショットを見てください
。null 参照例外が発生します。新しいキーワードを使用して DataContext をインスタンス化すると、すべて正常に動作します。
Edit2: AddSqlTiming メソッドの MiniPfiler.cs で例外がスローされています。スタックトレースを見てください
asp.net-mvc-3 - クエリ文字列で「popup=1」を使用すると mini-profiler-results が見つからない
問題を再現する手順:
- 手順に従ってプロファイラーをプロジェクトに追加します
- プロジェクトは仮想ディレクトリにあります
- 「http://localhost/VirtualDirectory/mini-profiler-results?id=00f8651d-ebbf-443d-b60d-d83f950adf6a&popup=1」が見つかりません。404。
- 「http://localhost/VirtualDirectory/mini-profiler-includes.less?v=2.1.4183.14740」の URL が見つかり、「mini-profiler-results」URL から「popup=1」を取り除くと、 404を取得しないでください。
NuGet、MVC3、VS2010、Knockout.js、およびjQuery 1.5.2を使用して、2011年6月20日(1.3)の最新のものを使用しています。
誰にもアイデアはありますか?
編集:これはここで問題であるとすでに追加しました。
asp.net-mvc - Linq to SQLを使用してMVCミニプロファイラーを構成するにはどうすればよいですか?
asp.netmvcアプリケーションを使用してミニプロファイラーを構成しました。また、データベースのプロファイルを作成したいので、この例のようにL2Sデータコンテキストにフックしました。
一部のクエリでは正常に機能していますが、他のクエリではnull参照例外が見つかります。デバッグするためにソースコードを添付したとき、私はそれを見つけました
Head
上記のメソッドのプロパティは、MiniProfiler.csの198行目でnullになっています。理由は何ですか。
編集:次のメソッドは私にdatacontextオブジェクトを返します
そして、以下はミニプロファイラーが初めてクラッシュするクエリです
詳細については、この質問も参照してください。デモプロジェクトで問題を再現しようとしましたが失敗しました。
編集2:スタックトレースは次のとおりです。
entity-framework - mvc-mini-profiler による EF プロファイリングのパフォーマンスの低下
以下の関数を使用してコンテキストを作成すると、プロファイラーは標準の EF (バージョン 4) コンテキスト作成方法から約 300 ミリ秒増加したことを示します。これを行う別の方法でパフォーマンスが向上する方法はありますか? このままでは、パフォーマンス プロファイリングの目的が無効になります。
この最初のものは、上記の関数を使用してコンテキストを作成しています。2 つ目は、標準の EF コンテキスト作成方法を使用することです。mvc-mini-profiler を使用した場合のパフォーマンスの違いは次のとおりです。
プロファイラー EF コンテキスト: 89.1
一部の DB ヒット: 317.9
通常の EF コンテキスト: 0.1
一部の DB ヒット: 7.4
更新 2: Visual Studio でいくつかのプロファイリングを行いましたが、主な時間のかかる操作は MvcMiniProfiler.Helpers.StackTraceSnippet.Get() であり、その中に System.Diagnostics.StackTrace..ctor(bool) への呼び出しがあるようです。これは完了するまでに長い時間がかかり、上記の遅延の原因と思われます。
java - このようなJava Webアプリプロファイラー
http://code.google.com/p/mvc-mini-profiler/の記事を読む
このようなJava Webアプリ用のオープンソースプロファイラーはありますか?
これを Java 環境に移植し始めた人はいますか?
ありがとう。
asp.net-mvc - MvcMiniProfiler を使用した Entity Framework のプロファイリング
MvcMiniProfiler を使用している Asp.net Mvc 3 アプリケーションがあります。また、Entity Framework を使用してデータベースにアクセスしており、プロファイラーがエンティティ モデルを操作できるようにしたいと考えています。これまでのところ、以下の Context ファクトリを作成しました。
作業単位を開始するときにリポジトリ レイヤーによって呼び出される上記のコードを実行すると、MvcMiniProfiler.ProfiledDbServices クラスで CreateDbCommandDefinition を呼び出すときに無限ループに陥ります。
私が間違っていることの手がかりはありますか?
javascript - MVC-Mini-Profilerエラー:yepnopeが定義されていません
私はMVCサイトのプロファイリングにmvc-mini-profilerを使用しています。ローカルマシンでは正常に動作しますが、ホスティングサーバーに公開すると、プロファイラーが読み込まれず、次のエラーが発生します。
私が知る限り、問題は、yepnopeがロードされる前にyepnopeを使用しようとするプロファイラーにあります。miniprofile renderコマンドを実行する前に、yepnopeがロードされているかどうかを確認するためのチェックを強制することで、これを回避する方法はありますか?ページの生成されたソースからの関連行は次のとおりです
そして完全を期すために、私の_layoutファイルの呼び出し
asp.net-mvc - MVCミニプロファイラーからより多くの「粒度」を取得
これが誰かにとって役立つことが判明した場合、私は喜んでそれをコミュニティwikiのものに変えます。
MVC3アプリに遅いページがいくつかありますが、コードで実行時間がほとんど発生していないように見えたので、これほど時間がかかったものについてもっと知ることができるかどうかを確認したいと思いました。成功したわけではありませんが、その過程でもう少し知恵を得ることができました。
ここには、MVCの経験がある人には明らかでないことは何もありません。基本的に、私は次のような独自のActionFilterAttributeを作成しました。
これはうまく機能しているようです。私の場合、ほとんどの時間は、私の行動の中でではなく、人生のResultExecutingの部分に実際に費やされていることを学びました。
ただし、このアプローチについていくつか質問があります。
1)これはリクエストに対して安全な方法ですか?ActionfilterはGlobal.asax.csのRegisterGlobalFilters()メソッドで一度だけ作成されるので、私はノーと推測しています。2つのリクエストが同時に表示される場合、actionStepとresultStepは無意味になります。これは本当ですか?もしそうなら、私よりも知っている誰かがこれを処理するための賢い方法を提供できますか?ローカルマシンのプロファイリング中には機能しますが、複数の人が同時にリクエストを行うサーバーにはあまりデプロイされていない可能性があります。
2)結果実行プロセスについてより多くの洞察を得る方法はありますか?それとも、ビューのレンダリングなどに時間がかかることを受け入れる必要がありますか?私自身のアプリでは、アクションメソッドが終了する前にすべてのデータベースアクセスが終了することを確認し(私の場合はNHibernate Profilerを使用)、ビューをスリムでシンプルに保つのが好きです。ただし、レンダリングの速度を低下させる原因についてのあらゆる種類の洞察は、依然として役立つ可能性があります。私の側でスローコードがここで実行された場合、モデルオブジェクトでミニプロファイラーを使用するとここに表示されると思います。
3)ResultDescriptorメソッドは、おそらく邪悪で有毒です。彼らは私のテストで私のために働いたが、おそらくもっと頑丈なものに置き換える必要があるだろう。私はちょうど私に中途半端に役立つ何かを与えた最初のバージョンで行きました。
「これは悪い考えです、一人で死ぬ」であっても、これに対する他のコメントも大歓迎です。
entity-framework - mvc-mini-profilerはEntityFrameworkの速度を低下させます
EntityFrameworkを利用したMVC3サイトに対してmvc-mini-profilerを設定しました。すべてが適切に構成されています。Application_Startでプロファイリングを開始し、Application_Endで終了します。プロファイリング部分は問題なく機能します。
ただし、データモデルオブジェクトの生成をプロファイラ可能なバージョンの提供に交換しようとすると、パフォーマンスが低下します。すべてのSQLクエリではありませんが、一部のクエリではページ全体の読み込みに約5倍の時間がかかります。(IIS Expressを起動した後の最初のページの読み込みには少し時間がかかりますが、これは持続します。)
SQLのクエリ、実行、および「データ読み取り」に費やされる時間はごくわずかです(〜2msトップ)。
...ラップされた場合、using(profiler.Step())
300〜400ミリ秒かかると記録されます。dotTraceを使用してプロファイルを作成しました。これにより、実際には通常どおりEFで時間が費やされていることが確認されました(プロファイラ可能なコンポーネントは非常に短時間で表示されます)が、時間がかかるだけです。
これにより、接続またはその構成部分の一部に十分なデータが欠落しており、EFのパフォーマンスが大幅に低下していると私は信じています。
これは、コンテキストオブジェクトを作成するために使用しているものです(私のedmxモデルのクラスはDataContextと呼ばれます)。
私はもともとmvc-mini-profilerが提供ObjectContextUtils.CreateObjectContext
するメソッドを使用していました。私はそれに飛び込んで、ワイルドカードメタデータワークスペースのパス文字列を設定していることに気づきました。コードを使用する他のプロジェクトと同様に、データベースレイヤーを1つのプロジェクトと複数のMVCサイトに分離しているため、これらのパスが変更されており、より具体的にしたいと思います。また、これがパフォーマンスの問題の原因だと思いました。CreateObjectContext
これを提供するために、機能を自分のプロジェクトに複製しました。
...しかし、それはあまり違いがないようです。メタデータワークスペースパスでより具体的な上記のハッキングされたバージョンを使用するか、mvc-mini-profilerが提供するバージョンを使用するかにかかわらず、問題は依然として存在します。私もこれを試したことがあると言っておきたいと思いました。
これらすべてを使い果たしたので、私は私の知恵の終わりにいます。繰り返しになりますが、いつものようにデータコンテキストを提供するだけで、パフォーマンスが低下することはありません。「プロファイラブル」なデータコンテキストを提供すると、特定のクエリのパフォーマンスが急落します(これに何が影響するかはわかりません)。mvc-mini-profilerは何が間違っているのでしょうか?私はまだそれに間違ったデータを供給していますか?
これはこの人が遭遇したのと同じ問題だと思います。