2

私たちのシステムは、EntityFrameworkベースのデータレイヤーを使用しています。ここ数ヶ月、データ転送、ビジネスロジック、UIにEFによって生成されたエンティティを使用してきました。

アプリケーションがどんどん大きくなっているので、別のビジネスレイヤーを作成することを決定し、CSLA.NETFrameworkを使用してそれを実現しました。これは、システムの負荷が増加するにつれて「スケーリング」するのに役立つはずでした。

新しいBLを作成している最中であり、新しいBLを使用するように移行する前後のアプリケーションモジュールのパフォーマンスを比較しています。パフォーマンスがほぼ50倍遅くなっていることに気づきました。それは50%ではなく、50倍遅くなります。

BLを導入すると、レイヤーが追加されるなどの理由で遅延が追加されることはわかっていますが、このような遅延になるとは思っていませんでした。

これは正常ですか?(レイヤーが追加されたために)許容可能な導入遅延と「これまでに得られる以上の損失」の間に線を引くための基準はありますか?

ありがとう。

4

1 に答える 1

3

それほど遅くなるとは思いませんが、経験から...私のグループは昨年CSLA(v4)を使い始め、最初に行ったアプリの1つは、より大きなデータのリストを読み込むときに非常に遅くなりました。リストのストアドプロシージャは1秒以内に返されていましたが、ビジネスオブジェクトのデータポータルメソッドが返されるまでに10秒以上かかりました。私たちの特定のケースでは、問題は、各レコードがリストオブジェクトにロードされているときに、WCFイベントプロバイダークラスをインスタンス化していたことでした。その問題に気づき、対処すると、パフォーマンスは非常に速くなりました。

つまり、CSLAを使用することがラグの原因になるとは思わないのですが、CSLAを間違った方法で使用すると(私が行っていたように)、簡単に問題が発生する可能性があります。

于 2012-06-26T17:11:08.183 に答える