問題タブ [nhprof]

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.

0 投票する
1 に答える
353 参照

nhibernate - NHibernate NamedQueryで、DateTimeOffsetをパラメーターとしてどのように使用しますか

NHibernateでNamedQueryを実行するときに、SetParameter( "name"、date)またはSetParameter( "name"、date、new DateTimeOffsetType())を使用してDateTimeOffsetを設定すると、クエリの送信時にタイムオフセット情報が失われます( '2011 -01-01T14:00:00.00')。

NHibernateに完全な日付文字列を使用するように指示できる場所/方法を知っている人はいますか?

0 投票する
4 に答える
1890 参照

nhibernate - NHibernate Profiler - データベースの期間と合計期間の間に大きな不一致がありますか?

NHibernate を多用するアプリケーションがあります。可能性のあるパフォーマンスの問題を特定するために、NHibernate Profiler の使用を開始しました。私の質問は、Query Duration 統計に関連しています。

統計は、データベース期間と合計期間に分類されます。私が読んだことから、数字は非常に近いはずです。ただし、比較的大きな格差が見られ、これらの原因を突き止めようとしています。ここにいくつかのデータがあります

代替テキスト

これらの問題の修正をどこから開始できるかについてのアイデアはありますか?

0 投票する
1 に答える
200 参照

unit-testing - NHibernate の動作の自動プロファイリング/単体テスト

私は NHibernate を数か月間非常に集中的に使用しており、非常に強力だと感じていますが、私にとってこれは時々あなたを傷つける可能性のある種類のツールです。マッピング、LINQ クエリ、またはエンティティを使用するコードの比較的単純な変更が予期しない動作につながる状況がたくさんありました。私の最も「見事な成功」は、データベースではなくコードでコンポーネント コレクションをソートしていたという理由だけで、N+1 回の削除と挿入を行った読み取り操作を実行したことです。

NHProfのおかげで、このような問題のいくつかを追跡できますが、リファクタリングや要件の小さな変更を行った後でも、データ アクセス レイヤーが正しく効率的に動作するかどうか確信が持てません。変更のたびに手動でテスト/プロファイリングするのは、なんとなく面倒です。ここで期待するのは、内部でのNHibernate の動作(つまり、生成される SQL、実行されるクエリの数、ロードされるエンティティの数、結合されるテーブルの数など)を単体テストする何らかの方法です。

主な ORM の目的からは少しずれているかもしれませんが、適切に実行する必要があるアプリケーションでは、抽象化よりも低レベルの知識の方が重要であるように思えます。

このアイデアに似た実装はありますか? NHibernate アプリケーションのプロファイリングを自動化するにはどうすればよいですか?

0 投票する
1 に答える
275 参照

nhibernate - nhibernate - nhprof - 1 対多の双方向アソシエーションのための遅延ロードでの無制限の結果セット

対応する子を持つ標準のカテゴリ ドメイン エンティティがあります。つまり、カテゴリとそれに対応するサブカテゴリです。これを以下に示します。かなり標準的なものです。

NHibernate プロファイラーを使用して、すべてが最適に実行されていることを確認しています。ただし、「RemoveCategory」メソッドを呼び出してカテゴリを渡してサブカテゴリを削除する場合、「_children」コレクションの遅延ロードを開始する「_children」という名前の基になるコレクションにアクセスする必要があります。

これにより、NHProf で "無制限の結果セット" アラートが発生します。これは、制限を指定していないため意味があります。コレクション全体をロードします。このコレクションは非常に大きくなる可能性があるため、制限を指定したいと思います。

無制限の結果に関する nhprof Web サイトの例 (以下に示す) を見ましたが、これを使用する方法がわかりません。

これは、データを表示しているときに便利なようですが、エンティティを更新して最終的に永続化したいと考えています。コレクションの遅延ロードの制限を指定する方法についてのアイデアはありますか?

敬具

ムハンマド

0 投票する
1 に答える
143 参照

nhibernate - 記号 [/] は NHibernate Profiler で何を意味しますか?

この小さな記号はNHProfで何を意味しますか? セッション #1 にあるのにセッション #3 にないのはなぜですか?

NHProf

0 投票する
2 に答える
1149 参照

oracle - NHibernate Profiler でのクエリ期間

Fluent NHibernate を使用して Oracle データベースにアクセスする ASP .Net MVC アプリケーションがあります。また、NHibernate によって生成されたクエリを監視するために、NHibernate Profiler も使用しています。非常に単純なクエリが 1 つあります (4 つの文字列列を持つテーブルからすべての行を選択する)。レポートをCSV形式で作成する場合に使用します。私の問題は、クエリの実行に非常に時間がかかることです。nhprof によって表示される期間についてもう少し詳しく知りたいと思います。65.000 行の場合、「データベースのみ」の期間は 20 ミリ秒程度しか表示されませんが、10 ~ 20 秒かかります。サーバーは同じギガビット LAN 上にあるため、ネットワークの遅延はこの時間に大きく影響することはありません。ボトルネックがどこにあるかを正確に特定できるとは思っていません。

「データベースのみ」の部分には何が含まれ、「合計時間」には何が含まれますか? 合計時間には、C# オブジェクトを設定した後に行われた処理も含まれているので、この時間は実際には http 要求全体のためのものですか? これについてもっと知ることで、いくつかの要因を排除できるようになることを願っています.

NHibernate マッピング クラスは次のようになります。

nh プロファイラーによって生成されるクエリは次のようになります。

ビューは非常に単純で、2 桁の整数で 2 つのテーブルを結合するだけです。

私は決してデータベースの専門家ではないので、正しい方向性を示すすべてのコメントをお待ちしております。

0 投票する
3 に答える
2052 参照

asp.net - NHibernateProfilerがASP.NETMVCアプリケーションからの要求を認識しない

私はASP.NETMVC3でNHProfを使用しています。

挿入しました

HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();

Application_Startメソッドで、しかしNHProfはまだ私のセッションを認識せず、何も表示しません。

私の問題の原因は何でしょうか?

0 投票する
1 に答える
296 参照

ruby-on-rails - Rails ActiveRecordのNHProfiler型ツール

.NET の世界には、NHibernate を介してデータベース アクティビティに関する洞察を提供するNHProfilerという素晴らしい製品があります。これは、一般的な問題 (N+1 の問題など) を検出し、アプリケーションが実行するクエリを観察することでそれらの問題を報告できます。

Rails ActiveRecord で同じようなことを行うツール/アプリ/宝石はありますか?

0 投票する
1 に答える
264 参照

nhprof - NHProfilerで何か奇妙な

こんにちは私はnhprofilerを使用していましたが、正常に動作していましたが、開始したくありません。クリックしてタイムカプセルの取得を開始します。何が問題になるかはわかりません。多分誰かが同じ問題を抱えていますか?

0 投票する
2 に答える
540 参照

c# - NHibernate/NH Profiler からこの警告が表示される理由を知っている人はいますか?

「エンティティ レベルで遅延をサポートしていないため、full_qualified_type_name の遅延プロパティ フェッチを無効にしました」。

この警告は NH Profiler によって報告されたもので、その結果、恐ろしい SELECT N + 1 の副作用が発生しています。したがって、2200 個のサブグループ エンティティが返された場合、各InvoicePreferenceエンティティを取得するために追加のクエリが実行されます (合計 2201 個のクエリ)。その関係の何かが問題を引き起こしているようです。

問題のエンティティとそれぞれのマッピングは次のとおりです。

エンティティ 1

エンティティ 2

マッピング 1

マッピング 2