2017-09-01 11 views
2

で私は、Visual Studioの負荷テストSQL AzureのDTUは100%トラブルシューティング

私のテストは、各テーブルに別々のAPIリクエストで、SQL Azureのデータベースでは、約40のテーブルからデータを取得を使用して私のアプリの負荷テストを行っております。

負荷テストでは、200分のユーザーが10分、約80-100リクエスト/秒でシミュレートされています。

テスト中、SQL AzureサーバーのDTUが100%に触れていることがわかりましたが、これは明らかに本番のパフォーマンスにとって良い兆候ではありません。

これは、私がデータベースを増やしてDTUを増やしたとしても同じです。それはあなたのAzure上のクエリパフォーマンスインサイトの刃を見てみましょう

答えて

6
  1. に対処するために、私が見てする必要があり、特定のクエリまたは単にスケーリング問題だ場合、私は、トラブルシューティングや問題に対処するにはどうすればよい

    SQLデータベース。これは、リソースを消費している最適な最適な候補である上位のクエリを表示します。

  2. Azure SQLデータベースのPerformance Recommendationsブレードもチェックしてください。これにより、Analyzerに使用状況を見て、インデックスを追加(または削除)して利益が得られるかどうかを判断するのに十分な履歴があると、インデックスの推奨事項が表示されます。

  3. WebアプリケーションでAzure SQL DBを使用している場合は、Application Insightsをプラグインします。これにより、長時間実行されているクエリと、マイナーな最適化の恩恵を受ける可能性のあるクエリが数多く表示されます。

2

クエリストア最適化のトップクエリを見てみましょう。リソースのコストが高く、実行時間が長いクエリを示しています。 Query Storeの詳細については、hereをクリックしてください。

次のクエリを実行して、より多くの消費を示すリソースを確認します。それらのリソースのほとんどを使用してトップのクエリを特定します。

SELECT  
    AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent', 
    MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent', 
    AVG(avg_data_io_percent) AS 'Average Data IO In Percent', 
    MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent', 
    AVG(avg_log_write_percent) AS 'Average Log Write Utilization In Percent', 
    MAX(avg_log_write_percent) AS 'Maximum Log Write Utilization In Percent', 
    AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent', 
    MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent' 
FROM sys.dm_db_resource_stats; 

これが役に立ちます。

関連する問題