スタックアナライザーとSQLアナライザーで遅いサイトを診断する
問題サイトまたはページの読み込みが遅いようです。
考えられる原因
多くのことがウェブサイトの実行を遅くする原因となる可能性があります。大きな画像ファイルの読み込みには長い時間がかかる可能性があり、ログによってSQLデータベースの速度が低下したり、スケジュールされたタスクによってWebサイトからリソースが奪われたり、モジュールの動作が低下したりする可能性があります。これらの問題を調査するには、My Website is Slowを参照してください。スタックアナライザー
- Control Suiteを起動します 、その他のツールを選択します>スタックアナライザー>起動 。
- Webブラウザを使用して、問題のサイトを表示します。
- Stack Analyzerに切り替えます サイトのアプリケーションプールをクリックして、そのサイトのトレースが実行されるようにします。
- スタックアナライザー 実行中のすべてのスレッドを一覧表示します。
探すべきものは次のとおりです:
- パターン-スタックトレースの下部は変更せず、上部は頻繁に変更する必要があります。真ん中には、コードが「スタック」していて正しく実行されていない場所を示す非表示の行があります。そのコードをクリックすると、パラメータとローカル変数を表示できます。
- SNIメソッド-SQLNative Interfaceでマークされたトレースは、データベースにアクセスしているコードを示します。これらは、ストアドプロシージャを実行するのに長い時間がかかること、またはデータベースから返されるデータの量が多すぎることを示している可能性があります。
- ASP.netコードは多くの場合下部にあり、その上にDotNetNukeコードが表示され、次にその上に他の.netコードが表示されます。データベースを呼び出すコードについて疑わしい場合は、SQL関連のコードを調査する必要があります。
問題がSQLデータベースにある場合は、SQLアナライザーが次に検討するツールです。 Control Suiteに戻り、SQLAnalyzerを起動します。 3つのモードがあります。
- 基本トレースモード:
- Control Suiteを起動します 、その他のツールを選択します>SQLアナライザー>起動 。
- ファイルをクリックします>新しいトレース 。
- (ローカル)に接続します Windows認証を使用するサーバー 。
- イベントをクリックします タブ。分析を開始するときに確認する2つの項目は、RPC開始です。 およびRPCが完了しました 。 実行をクリックします 。
- 問題のWebサイトにアクセスすると、実行されたすべてのストアドプロシージャが一覧表示されます。実行されるコマンドの量を確認します。何百ものコマンドが画面いっぱいに表示される場合は、呼び出されているタスクが多すぎることを示しており、これをより効率的に実行できる可能性があります。また、読み取り、書き込み、またはCPUサイクルの読み取り値が高い高価なコマンドを探します。
- パフォーマンスダッシュボード
- ファイルをクリックします>新しいパフォーマンスダッシュボード 。
- (ローカル)に接続します Windows認証を使用するサーバー 。
SQL Analyzerのこの2番目の機能は、SQLサーバーにクエリを実行して、Webサイトのパフォーマンスを視覚的に表現します。データベースを使用しているユーザーセッションの数を示します。また、「高価なクエリ」も示します。 CPU、論理読み取り、論理書き込み、期間、物理読み取り、およびCLR時間で分類されます。カテゴリのいずれかをクリックすると、棒グラフ表現で最も高い値のクエリが表示されます。クエリは、実行された回数とともに一覧表示されます。およびその他の情報。
- アプリケーションダッシュボード
- ファイルをクリックします>新しいアプリケーションダッシュボード 。
- (ローカル)に接続します Windows認証を使用するサーバー 。
SQL Serverが実行していることをドリルダウンビューで表示します。データをグループ化して集約し、ダイジェストを容易にします。サーバーを選択し、問題のWebサイトをクリックすると、データベースへの接続数。これらのリストの多くは、データベースへの接続を適切に解放していないコード、またはデータベースに情報を要求するサイトにアクセスするユーザーが多いことを示している可能性があります。
接続を展開すると、その接続内で実行されたコマンドが表示されます。大きな数字を探します。大きな数字は、潜在的なデータキャッシュの問題または壊れたモジュールを示します。