4

私は、Azure VMとAzure VMデータベース(Azure WebアプリケーションとAzure SQLデータベースの両方にIISとMSSQLがローカルにインストールされている)から既存のasp.net Web-西ヨーロッパ)。私は、同じ作業負荷で両者の処理時間が劇的に増加していることに気付いています。 VM上で10〜15msかかるタスクは、ホステッドサービス環境で少なくとも150msかかる。どちらの内部処理でも、VMまたはWebアプリケーションとのネットワークレイテンシは含まれません。空のデータベースと同じコードベースの両方で。同じインデックスを持つ同じデータベーススキーマ。遅いパフォーマンスAzure 'Web App' + Azure SQL DB

VMはシンプルな2コア/ 7GB SSDマシンでした。しかし、プレミアム4コア/ 7GBと私のデータベースをプレミアム250DTUに設定しても、パフォーマンスはまったく向上しません。実際、基本的な2コアWebアプリケーションと10DTUデータベースでも同じです。したがって、ボトルネックは他の場所になければなりません。

遅い処理の原因を特定するにはどうすればよいですか? Webアプリケーションとデータベースにはパフォーマンスアラートが表示されず、どちらの拡張も助言されません。

+0

ローカルとは、ローカルマシンまたは同じネットワーク上に構内にあるマシンを意味しますか? – univ

答えて

0

ファイル名を指定して実行待ちのタイプは、これらのワークロード時に発生しているかを知るためのセッション/ワークロードごとに次のクエリ:

--yourここにクエリ

go 

select * 
from sys.dm_exec_session_wait_stats 
where session_id = @@spid 
order by wait_time_ms desc 

最後のSELECT文はあなたにすべての待機を提供します現在のセッション。

また、クエリストアを有効にすることもできます。

http://www.sqlcoffee.com/Azure_0010.htm

とクエリは、次の記事があなたに、各待機カテゴリの意味を教えてくれます

select wait_category_desc, sum(total_query_wait_time_ms) as [sum ms], count(*) as [interval cnt], avg(avg_query_wait_time_ms) as [avg ms], sum(total_query_wait_time_ms/avg_query_wait_time_ms) as [wait cnt] 
from sys.query_store_wait_stats 
group by wait_category_desc 
order by [sum ms] desc 

実行中に待機しますかを知るために、次のクエリを実行します。

https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-query-store-wait-stats-transact-sql

は、この情報がお役に立てば幸いです。