2

WebAPI我们有一个使用 EF6 在其 AzureSQL 上执行 CRUD 操作的单个实例。

我们的流量非常低(大约 20 个请求/秒),通常每个请求大约需要 15-150 毫秒。我们一直看到,每 45 到 60 分钟,一些请求每个大约需要 13 秒。

数据库非常小——大约 6mb。在 SQL 日志中,我们看到查询需要大约 15 毫秒才能运行。

谁能帮助我这是什么问题?

在这两个示例中,秒表显示 13+ 秒,而数据库日志显示 15ms

Stopwatch watch = Stopwatch.StartNew();
var result = await Repository.EntitiesSet
                             .Where(entity => entity.PrimaryKey == PrimaryKey); }
                             .ToListAsync();
Logger.LogDbAccess(callData(), watch.ElapsedMilliseconds);
return result;

Stopwatch watch = Stopwatch.StartNew();
var result = await Repository.EntitiesSet
                             .FirstOrDefaultAsync(t => t.secondaryId.Equals(secondaryId)); 
Logger.LogDbAccess(callData(), watch.ElapsedMilliseconds);
return result;
4

0 回答 0