1

私の現在のアプリケーションは、Web 層 - アプリケーション層 - データベースの 3 層で構成されています。

100 人のユーザーでテストしたところ、アプリケーション層の CPU がほぼ 90% に達しているのに対し、Web サーバーとデータベース サーバーは問題なく動作していることがわかりました。

CPU使用率が高い原因となっているコードを特定できません。主にCRUD操作があります。入力を DTO の形式で取得し、それらを (エンティティ フレームワークを使用して) エンティティに転送し、データベースに追加/更新/削除します。Get 操作の場合、データを EF エンティティにフェッチし、それらを DTO に格納してから、DTO をクライアントに送信します。

DebugDiag を使用しようとしましたが、有用な情報を見つけることができませんでした。

サーバーの構成は次のとおりです。

Web サーバー (数量 = 1)プロセッサ Intel Xeon CPU X5675 @3.07 GHz 2.19 GHz

コア数 (仮想) 8

RAM 8GB

オペレーティング システム Windows Server 2012 Standard

プロセッサの種類 64 ビット

インストールされているソフトウェア NET Framework 4.5

アプリケーション サーバー (数量 = 1)プロセッサ Intel Xeon CPU X5675 @3.07 GHz 3.07 GHz

コア数 (仮想) 8

RAM 8GB

オペレーティング システム Windows Server 2012 Standard

プロセッサの種類 64 ビット

インストールされているソフトウェア NET Framework 4.5

DB サーバー (数量 = 1)プロセッサー Intel Xeon CPU E7-4830v2 @ 2.20 GHz 2.19 GHz

コア数 (仮想) 8

RAM 8GB

オペレーティング システム Windows Server 2012 Standard

プロセッサの種類 64 ビット

インストールされているソフトウェア Microsoft SQL Sever 2014

4

2 に答える 2

1

APM ツールをインストールする以外に良い解決策はありません。それらを使用すると、根本原因を非常に迅速に見つけることができます。AppDynamics や NewRelic は簡単です。Dynatrace はもう少し複雑ですが、おそらくより強力です。そうでなければ、暗闇の中で撮影を続けます

于 2015-08-04T10:09:56.293 に答える