Web数据库的性能似乎比新的Azure SQL DB服务层更快?

Sam*_*lly 19 azure azure-sql-database

我正在使用MVC3,EF5,LINQ,.NET4.5,SQL数据库.

微软刚刚推出了SQL数据库的新服务级别,即Basic,Standard和Premium.

最初我使用的是"Web"SQL数据库,因为我的数据库很小,即大约30mb.但是,在我的测试网站实例上,我一直在使用基本网站和"基本"SQL数据库设置来节省资金.

当我的Live DB作为测试实例上的"基本"新风格数据库恢复时,我有一个"慢"运行查询突然花了9秒.它的工作时间约为2.5秒.当我将这个测试数据库实例扩展到"标准"SO,20个DTU时,需要3.9秒.当我将这个数据库缩放回"退役"的"Web"格式时,它花了1.9秒才真正让我感到惊讶.就好像需要将DB扩展到S1以获得与旧的"Web"样式DB相当的性能,但我怀疑这将比旧的"Web"格式DB花费更多.

我感谢上面的任何评论,特别是如果其他人发现新的数据库样式可能会更慢.

在一天结束时,新DB风格的设置是旧的"Web"风格相当于?

谢谢.

编辑(这真的非常令人担忧)

我已经发现了一个非常有用的文档,我最担心的是与新SQL数据库服务层的Web/Business比较.这些非常非常令人担忧,因为网络数据库性能似乎只能与"Premium P1"版本相匹配,我们无法负担得起这一点.因此,目前我们将继续使用"Web"版本.

编辑,似乎触动了一个原始的神经....有很多担心的人关于这....

看:论坛与担心用户聊天

来自.NET USER GROUP的反馈

在最近的一次用户组会议上,我也使用.NET同行与我的一些Azure进行了交谈,他们也非常担心他们认为开发人员会离开Azure.我认为微软的一个关键错误就是将Basic的性能设置为远低于Web(大多数时候),甚至是Web下的S1和S2.只有当你进入P1和P2时才会遇到标准杆,并且由于对冲锋的影响我们不敢在测试中使用它.根据我们的经验,Web在90%的时间内都处于这种高水平.我猜测10%是存在的,因为你说它是,但我们的客户没有抱怨这个.但是,为了保持我们目前的业绩水平,我们需要升级到S2或P1,这将对我们的月度费用产生特别影响.吉姆兰德的反馈表示赞赏,并支持我们的担忧.

cba*_*iss 11

我是上面提到的博客文章的作者.该帖子的更新版本可用:http: //cbailiss.wordpress.com/2014/09/16/performance-in-new-azure-sql-database-performance-tiers/

我进行的测试主要围绕新服务层的物理I/O功能.从这些测试中我认为P1提供的平均I/O与Web/Business大致相同.

那么,你的问题的具体答案:

在一天结束时,新DB风格的设置是旧的"Web"风格相当于?

如果您正在运行Web/Business的物理I/O限制(大致说200MB +读取,每分钟50MB +写入),那么我会说在新的服务层中提供相同的I/O性能需要至少P1.

如果平均来说I/O通常比上面的数字小得多,那么数据库可以在其中一个标准层上执行OK.

我的测试没有量化/比较Web/Business和新层之间的CPU或内存差异,但它们也在新世界中按服务层进行扩展.master数据库中的sys.resource_stats DMV可能会为您的工作负载提供一些见解.有关更多详细信息,请参阅上面的新博文.

为了完整起见,值得一提的是,较新的服务层确实提供了一些其他优势,可能同时支持更多连接,新的可用性功能,新的备份功能等.

希望有帮助......

编辑:2015年1月:新的标准S3性能级别目前作为Azure SQL数据库v12版本的一部分进行预览.这看起来它将提供比商业版更接近的价格性能,而不是现在可用的.此外,每个服务层和性能级别在第12版中都会获得更高的性能.有关详细信息,请参阅我的博客文章:https: //cbailiss.wordpress.com/2014/12/17/azure-sql-database-v12-performance-tests-show-significant-performance-increase/

克里斯


Jim*_*and 8

System.Data.SqlClient.SqlException:超时已过期.操作完成之前经过的超时时间或服务器没有响应.上周四打了这个.将数据从旧系统转换为SQL Azure.选择新标准(S2)而不是5 gig web(退役)数据库.SQL:

UPDATE Invoice 
SET SalesOrderID = O.SalesOrderID 
FROM Invoice 
INNER JOIN SalesOrder AS O ON Invoice.InvoiceID = O.InvoiceID 
Run Code Online (Sandbox Code Playgroud)

196043行.重新跑了,花了4分多钟.导出数据库并将其重新加载到Web版本中.查询耗时19秒.总数据库大小约为750兆字节.

最重要的是,这不仅仅是"有点担心".除非微软将新的基本/标准/高级版本的性能提升到现在的网络版本,否则他们几乎可以亲吻Azure再见.完全不合理的是,除非数据在缓存中,否则不能仅对196043行运行查询.对于使用关系数据库进行分析非常重要.

我本周将就此事向我的客户提出建议.毫无疑问,他将联系微软的高层管理人员.