2

テスト目的で Azure でアプリをホストしています。ただし、パフォーマンスがまったく最大に達していないように見えるにもかかわらず、多くの API 呼び出しが非常に遅くなっています。IIS Express と SQL Server Express でローカルで 170 ミリ秒かかる 1 つの API 呼び出しは、Azure ではなんと 14485 ミリ秒かかります。テストデータはまったく同じです。多くのインクルードが行われていますが、データが必要であり、インクルードが存在しない場合、クエリはさらに遅くなります。

Azure でクエリ/API 呼び出しが非常に遅いのはなぜですか? パフォーマンスがピークに達していれば理解できますが、60% を超えるパラメーターは 1 つもありません。

コード:

var results = db.ElectoralDistrictResults
    .AsNoTracking()
    .Where(x => x.ElectoralDistrict.Code == addressViewModel.ElectoralDistrictCode)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Election.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Election.ElectionTurnout)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.ElectionTurnout)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.CountyResult.County)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ConstituencyResult.ElectionTurnout)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.ElectionTurnout)
    .Include(x => x.MunicipalityElectoralDistrictResult.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.ElectionTurnout)
    .Include(x => x.ElectionTurnout)
    .Include(x => x.Votes.Select(y => y.Party))
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityResult.Municipality.County)
    .Include(x => x.MunicipalityElectoralDistrictResult.MunicipalityElectoralDistrict)
    .Include(x => x.ElectoralDistrict)
    .ToList();

パフォーマンス:

アプリ サービス:

Basic: 1 Medium
B2
2x cores
200 total ACU
3.5 GB memory
A-Series compute

ここに画像の説明を入力

50 DTU (S2) を備えた Azure 標準データベース。

ここに画像の説明を入力

ローカルホストのリクエストには 170 ミリ秒かかります

ここに画像の説明を入力

App Service リクエストに 14485 ミリ秒かかる

ここに画像の説明を入力

データベース呼び出しのローカルホスト:

ここに画像の説明を入力

データベース呼び出し Azure データベース:

ここに画像の説明を入力

4

2 に答える 2