NHibernateを使用するWPFアプリケーションがあります。アプリケーションまたはこのドメインを利用するアプリケーションの起動は非常に遅いです。データベーススキーマの検証には30秒かかりますが、その理由はわかりません。データベースには230個のテーブルがあります。以下は、主要なボトルネックがどこにあるかを示すdotTraceのスクリーンショットです。構成の構築は遅かったですが、私はここや他の場所で説明した手順に従って、構成をキャッシュしてファイルから読み込みました。それはかなり助けになりました。しかし今、データベースと話す必要があるときに問題があるようです。どんな洞察力も大変高く評価されます。また、問題の診断に役立つ追加情報が必要な場合はお知らせください。スキーマの検証に関してNHibernate BuildSessionFactoryのパフォーマンスを向上させる方法
答えて
各テーブルのスキーマクエリとスキーマの検証、自動スキーマ生成、hbb2ddlを使用しているようです。他の操作を行っている可能性もありますが、トレースには表示されません。言ったように検証は、ここで例えば、おそらくデフォルトの設定です:
https://weblogs.asp.net/ricardoperes/nhibernate-pitfalls-schema-auto-action
は、私はNHibernateはで作業する場合、これは設定されていませんでした。私は異なるNHibとDBのテーブルスキーマを持つことができ、実際にテーブルにアクセスするまではエラーは発生しません。それでも、約100テーブルのセッションファクトリを構築するには、プロファイラ(Ant)で数秒かかりました。
おそらく、スキーマが変更されていない限り、デバッグの検証を無効にすることをお勧めします。
各スキーマ問合せが20ミリ秒、ネットワーク待ち時間にDBとクライアントの処理を加えた場合、少なくとも230個の表では5秒になります。実際の往復時間が長い場合は、より多くの
SQL Serverプロファイラでは、アプリケーションから受信したもの、特にスキーマクエリが入ってくる時間の長さ、およびデータベースでの所要時間を表示することもあります。
これを無効にする方法を検討しましたが、その方法を説明するものは見つかりませんでした。 SchemaAutoActionを設定する必要があるようです。 –
- 1. 検索のパフォーマンスを向上させる
- 2. HQLパフォーマンスを向上させる方法
- 3. ネットワーク上でMYSQLのパフォーマンスを向上させる方法
- 4. S3に対するスパークストリーミングのパフォーマンスを向上させる方法
- 5. パフォーマンスを向上させる
- 6. パフォーマンスを向上させる
- 7. MySQLグループのレプリケーションのパフォーマンスを向上させる方法は?
- 8. SQL Server 2005のクエリのパフォーマンスを向上させる方法
- 9. ElasticsearchでIDで検索するときのパフォーマンスを向上させる方法
- 10. MongoDBでマルチフィールド検索のパフォーマンスを向上させるには?
- 11. DataTable.Load()のパフォーマンスを向上させる方法
- 12. RedissonのRMapCacheでのパフォーマンスを向上させる方法
- 13. Jqueryオートコンプリートのパフォーマンスを向上させる方法
- 14. このDML文のパフォーマンスを向上させる方法は?
- 15. このPythonコードのパフォーマンスを向上させる方法は?
- 16. SQL Serverのカーソルのパフォーマンスを向上させる方法
- 17. androidのビューページのパフォーマンスを向上させる方法
- 18. スレッドの - アプリケーションのパフォーマンスを向上させる方法
- 19. このクエリのパフォーマンスを向上させる方法は?
- 20. MyISAMのINSERT/UPDATEクエリのパフォーマンスを向上させる方法
- 21. 電子商取引サイトの検索パフォーマンスを向上させる方法は?
- 22. Javaプログラムのパフォーマンスを向上させる
- 23. アプリケーションのパフォーマンスを向上させる方法
- 24. odoo応答時間のパフォーマンスを向上させる方法
- 25. ログイン応答のパフォーマンスを向上させる方法
- 26. cocos2dxでビットマップテクスチャレンダリングのパフォーマンスを向上させる方法
- 27. アプリケーションのパフォーマンスを向上させる方法
- 28. ハイブのパフォーマンスを向上させる方法
- 29. Microsoft SQL Server:ダムクエリのパフォーマンスを向上させる方法
- 30. jqueryのパフォーマンスを向上させる方法
ダミークエリを送信して実際のデータベーステーブルスキーマを取得することができますか?私はこれをやって、おそらく別の設定NHibernateを覚えていない?トレースはわずか30秒ではなく、30秒です。 –
@エリックハート33,000msは33秒です。 – TyCobb
トレースは〜33k msと思われます。 30秒くらいでしょうか? –