我正在尝试将我的ASP(IIS)+ SQLServer应用程序从SQL Server Express Edition迁移到Azure SQL数据库。目前,我们只有一台同时具有IIS和SQL Express版本的专用服务器。计划的设置将是Azure虚拟机和Azure SQL数据库上的ASP(IIS)。
根据我对Google的搜索,似乎SQL Server Express Edition存在性能问题,这些问题已在标准版和企业版中得到解决。 DTU计算器指示我应该移动到200个DTU。但是,这是基于在同一专用服务器上使用IIS的SQL Express版本设置上的测试运行。
更多信息:
鉴于总用户数较少,我对300DTU的转变表示怀疑。我最初假设100个DTU已经足够好了,但是在寻找之前处理过这个问题的人的一些建议。
答案 0 :(得分:0)
似乎SQL Server Express Edition存在性能问题
这是不正确的。有一些限制,如10GB大小,一个核心CPU和一些功能被禁用..
我最初假设有100个DTU已经足够好了,但是在之前已经处理过这个问题的人那里寻找一些建议。
我会接受DTU计算器的建议,但如果您想使用100 DTU,我建议您继续使用它,但要始终如一地评估性能。
以下查询可以在您的实例中为您提供DTU指标,如果任何一个指标在一段时间内始终超过90%,我会尝试调整该指标并最终升级到新层,如果我不成功的话
DTU查询
SELECT start_time, end_time,
(SELECT Max(v)
FROM (VALUES (avg_cpu_percent), (avg_physical_data_read_percent), (avg_log_write_percent)) AS value(v)) AS [avg_DTU_percent]
FROM sys.resource_stats
WHERE database_name = '<your db name>'
ORDER BY end_time DESC;
答案 1 :(得分:0)
数据库大小和用户数量不是估算DTU使用情况的可靠方法。具有少量用户的索引不佳的数据库可能会消耗大量的DTU。具有活跃流量的经过良好调整的数据库可以消耗相对较少数量的DTU。在我的一个客户中,我们有一个数据库,每天处理数百万个CRUD操作,超过3,000个用户,很少打破40DTU。
话虽如此,不要为您的DTU设置而烦恼。它非常容易监控和更改。您可以在不中断服务的情况下向上扩展或缩小。我会做出最好的猜测,稍微过度分配,然后根据你看到的内容上移或下移你分配的DTU。
答案 2 :(得分:0)
-在您正在使用的Azure数据库上运行以下选择
SELECT
max (avg_cpu_percent),max(avg_data_io_percent),
max (avg_log_write_percent)
FROM sys.resource_stats
WHERE database_name = 'Database_Name'