問題タブ [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.
nhibernate - NHibernate NamedQueryで、DateTimeOffsetをパラメーターとしてどのように使用しますか
NHibernateでNamedQueryを実行するときに、SetParameter( "name"、date)またはSetParameter( "name"、date、new DateTimeOffsetType())を使用してDateTimeOffsetを設定すると、クエリの送信時にタイムオフセット情報が失われます( '2011 -01-01T14:00:00.00')。
NHibernateに完全な日付文字列を使用するように指示できる場所/方法を知っている人はいますか?
nhibernate - NHibernate Profiler - データベースの期間と合計期間の間に大きな不一致がありますか?
NHibernate を多用するアプリケーションがあります。可能性のあるパフォーマンスの問題を特定するために、NHibernate Profiler の使用を開始しました。私の質問は、Query Duration 統計に関連しています。
統計は、データベース期間と合計期間に分類されます。私が読んだことから、数字は非常に近いはずです。ただし、比較的大きな格差が見られ、これらの原因を突き止めようとしています。ここにいくつかのデータがあります
これらの問題の修正をどこから開始できるかについてのアイデアはありますか?
unit-testing - NHibernate の動作の自動プロファイリング/単体テスト
私は NHibernate を数か月間非常に集中的に使用しており、非常に強力だと感じていますが、私にとってこれは時々あなたを傷つける可能性のある種類のツールです。マッピング、LINQ クエリ、またはエンティティを使用するコードの比較的単純な変更が予期しない動作につながる状況がたくさんありました。私の最も「見事な成功」は、データベースではなくコードでコンポーネント コレクションをソートしていたという理由だけで、N+1 回の削除と挿入を行った読み取り操作を実行したことです。
NHProfのおかげで、このような問題のいくつかを追跡できますが、リファクタリングや要件の小さな変更を行った後でも、データ アクセス レイヤーが正しく効率的に動作するかどうか確信が持てません。変更のたびに手動でテスト/プロファイリングするのは、なんとなく面倒です。ここで期待するのは、内部でのNHibernate の動作(つまり、生成される SQL、実行されるクエリの数、ロードされるエンティティの数、結合されるテーブルの数など)を単体テストする何らかの方法です。
主な ORM の目的からは少しずれているかもしれませんが、適切に実行する必要があるアプリケーションでは、抽象化よりも低レベルの知識の方が重要であるように思えます。
このアイデアに似た実装はありますか? NHibernate アプリケーションのプロファイリングを自動化するにはどうすればよいですか?
nhibernate - nhibernate - nhprof - 1 対多の双方向アソシエーションのための遅延ロードでの無制限の結果セット
対応する子を持つ標準のカテゴリ ドメイン エンティティがあります。つまり、カテゴリとそれに対応するサブカテゴリです。これを以下に示します。かなり標準的なものです。
NHibernate プロファイラーを使用して、すべてが最適に実行されていることを確認しています。ただし、「RemoveCategory」メソッドを呼び出してカテゴリを渡してサブカテゴリを削除する場合、「_children」コレクションの遅延ロードを開始する「_children」という名前の基になるコレクションにアクセスする必要があります。
これにより、NHProf で "無制限の結果セット" アラートが発生します。これは、制限を指定していないため意味があります。コレクション全体をロードします。このコレクションは非常に大きくなる可能性があるため、制限を指定したいと思います。
無制限の結果に関する nhprof Web サイトの例 (以下に示す) を見ましたが、これを使用する方法がわかりません。
これは、データを表示しているときに便利なようですが、エンティティを更新して最終的に永続化したいと考えています。コレクションの遅延ロードの制限を指定する方法についてのアイデアはありますか?
敬具
ムハンマド
nhibernate - 記号 [/] は NHibernate Profiler で何を意味しますか?
この小さな記号はNHProfで何を意味しますか? セッション #1 にあるのにセッション #3 にないのはなぜですか?
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 つのテーブルを結合するだけです。
私は決してデータベースの専門家ではないので、正しい方向性を示すすべてのコメントをお待ちしております。
asp.net - NHibernateProfilerがASP.NETMVCアプリケーションからの要求を認識しない
私はASP.NETMVC3でNHProfを使用しています。
挿入しました
HibernatingRhinos.Profiler.Appender.NHibernate.NHibernateProfiler.Initialize();
Application_Startメソッドで、しかしNHProfはまだ私のセッションを認識せず、何も表示しません。
私の問題の原因は何でしょうか?
ruby-on-rails - Rails ActiveRecordのNHProfiler型ツール
.NET の世界には、NHibernate を介してデータベース アクティビティに関する洞察を提供するNHProfilerという素晴らしい製品があります。これは、一般的な問題 (N+1 の問題など) を検出し、アプリケーションが実行するクエリを観察することでそれらの問題を報告できます。
Rails ActiveRecord で同じようなことを行うツール/アプリ/宝石はありますか?
nhprof - NHProfilerで何か奇妙な
こんにちは私はnhprofilerを使用していましたが、正常に動作していましたが、開始したくありません。クリックしてタイムカプセルの取得を開始します。何が問題になるかはわかりません。多分誰かが同じ問題を抱えていますか?
c# - NHibernate/NH Profiler からこの警告が表示される理由を知っている人はいますか?
「エンティティ レベルで遅延をサポートしていないため、full_qualified_type_name の遅延プロパティ フェッチを無効にしました」。
この警告は NH Profiler によって報告されたもので、その結果、恐ろしい SELECT N + 1 の副作用が発生しています。したがって、2200 個のサブグループ エンティティが返された場合、各InvoicePreference
エンティティを取得するために追加のクエリが実行されます (合計 2201 個のクエリ)。その関係の何かが問題を引き起こしているようです。
問題のエンティティとそれぞれのマッピングは次のとおりです。
エンティティ 1
エンティティ 2
マッピング 1
マッピング 2