6

専用の VPS 上に小さな (今のところ) Asp.Net MVC 5 Web サイトがあります。サーバーに移動してタスク マネージャーを起動すると、"SQL Server Windows NT - 64 ビット" が約 80% の CPU と 170MB の RAM を使用し、IIS が 6% の CPU と 400MB の RAM を使用していることがわかります。サーバーの仕様は次のとおりです。

  • CPU 1.90Ghz デュアルコア
  • メモリー 2GB
  • Windows Server 2012
  • SQL Server Express 2012
  • ディスク容量: 25GB、2.35 フリー。

データベースはそれほど大きくありません。そのバックアップは 10MB 未満です。

私はできる限りウェブサイトを最適化しようとしました。多くのコントローラにキャッシングを追加し、かなり多くのコントローラにドーナツ キャッシングを実装しました。しかし、今日、オンラインのユーザーが 5 人しかいなかったにもかかわらず、検索は機能しませんでした。サーバーで Windows を再起動したところ、機能し始めましたが、サーバーが起動した瞬間に CPU 使用率が高くなりました。興味深いことに、SQL Server Management Studio を開いて、CPU を最も多く消費しているクエリのレポートを取得しようとすると、現在 CPU を消費しているクエリはないと表示されます!!! しかし同時に、SQL サーバーが大量の CPU を消費していることもわかります。すべての CPU を占有しているものを調べるにはどうすればよいですか? 以下はサーバーからの画像です。

高い CPU 使用率

私は、ウェブサイトの設計と実装に非常に注意を払っていました/現在も慎重です。すべてのデータベース アクセスは、Entity Framework の最新バージョンを介して行われます。サーバーのスペックが低いのかな。どんな助けでも大歓迎です。

アップデート:

sp_who2ストアド プロシージャの結果を次に示します。

sp_who2

4

2 に答える 2