新的Azure SQL数据库服务,可扩展性和DTU

时间:2014-08-28 12:28:04

标签: azure azure-sql-database

新的新Azure SQL数据库服务看起来不错。但是我试图找出它们的可扩展性。

因此,例如,假设一个200个并发用户系统。

标准

Workgroup and cloud applications with "multiple" concurrent transactions

对于高级

Mission-critical, high transactional volume with "many" concurrent users

"多个"和"很多"意思?

Standard / S1还提供15个DTU,而Standard / S2提供50个DTU。这是什么意思?

回到我的200个用户示例,我应该选择什么选项?

Azure SQL Database Link

由于

修改

Useful page on definitions

然而," max sessions"?这是并发连接的数量吗?

3 个答案:

答案 0 :(得分:4)

Azure SQL数据库上有一些很棒的MSDN文章,特别是这个文章有一个很好的DTU起点。 http://msdn.microsoft.com/en-us/library/azure/dn741336.aspxhttp://channel9.msdn.com/Series/Windows-Azure-Storage-SQL-Database-Tutorials/Scott-Klein-Video-02

简而言之,它是了解为每个性能级别提供动力的资源的一种方式。与Azure SQL数据库客户交谈时,我们知道的一件事是,他们是一个多样化的群体。有些人对最绝对的细节,核心,内存,IOPS感到最舒服 - 而其他人则在更加总结的信息水平之后。没有一个尺寸适合所有人。 DTU适用于后来的小组。

无论如何,云的一个好处是可以轻松地从一个服务层和性能级别开始并迭代。在Azure SQL数据库中,您可以在应用程序启动时更改性能级别。在更改期间,通常在删除DB连接时经过的时间少于一秒。我们的服务中用于将数据库从服务层/性能级别移动的内部工作流程遵循与在数据中心中对节点进行故障转移的工作流程相同的模式。并且节点故障转移始终发生,与服务层更改无关。换句话说,相对于您过去的经历,您不应该注意到这方面的任何差异。

如果DTU不是您的事,我们还有更详细的基准测试工作负载可能会吸引人。 http://msdn.microsoft.com/en-us/library/azure/dn741327.aspx

谢谢盖伊

答案 1 :(得分:2)

没有做测试真的很难说。 200个用户我认为你的意思是200个人同时坐在他们的计算机上做东西,而不是200个用户每天登录两次。 S2允许每秒49次交易听起来不对,但你需要测试。也做很多缓存也不会受到伤害。

答案 2 :(得分:0)

DTU基于CPU,内存,读取和写入的混合度量。随着DTU的增加,性能水平提供的功率也会增加。 Azure对并发连接,内存,IO和CPU使用情况有不同的限制。哪一级必须选择真正取决于

  1. #concurrent users
  2. 记录率
  3. IO率
  4. CPU使用率
  5. 数据库大小
  6. 例如,如果您正在设计一个系统,其中有多个用户正在阅读并且只有少数编写者,并且您的应用程序中间层可以尽可能地缓存数据,并且只有选择性查询/应用程序重新启动才能访问数据库你可能不会过分担心IO和CPU的使用情况。

    如果许多用户同时访问数据库,您可能会遇到并发连接限制,并且会限制请求。如果您可以控制在您的应用程序中进入数据库的用户请求,那么这不应该是一个问题。

    记录速率:取决于数据变化的量(包括系统中的其他数据泵送)。我已经看到应用程序稳定地抽取数据与同时泵送的数据。再次选择正确的DTU取决于如何在应用程序端进行限制并获得稳定的速率。

    数据库大小:基本,标准和高级版具有不同的允许最大大小,这是另一个决定因素。使用表压缩类功能有助于减少总大小,从而减少总IO。

    内存:调整详尽的查询(连接,排序等),启用锁定升级/ nolock扫描有助于控制内存使用。

    人们通常在数据库系统中经常犯的错误是扩展数据库而不是调整查询和应用程序逻辑。因此,测试,监控具有不同DTU限制的资源/查询是解决此问题的最佳方法。

    如果选择错误的DTU,请不要担心,您可以随时在SQL DB中进行扩展/缩小,并且完全在线操作

    除非有充分的理由迁移到V12以获得更好的性能和功能。