【问题标题】:Identifying Auto Scaled Azure Instances?识别自动缩放的 Azure 实例?
【发布时间】:2013-10-18 21:35:42
【问题描述】:

对于包含 WCF 服务的小型实例辅助角色,我希望它在内存使用率达到 n% 时自动缩放。 WCF 应用程序使用 Azure SQL 数据库,它在我的应用程序中是一个单例。如果/当应用程序层自动缩放时,数据库可以跟踪的两个系统之间有什么“不同”?当事情扩大时,有没有办法改变数据库连接字符串中的“应用程序名称”?是否有可以在数据库中捕获和记录的 Azure 特定 ID?我可以自行破解连接字符串并将其传递给 SQL,但我希望现在可以使用内置的东西。

我尝试在 Azure 团队的网站上四处查看,但没有看到任何明确/确定的内容。

谢谢。

【问题讨论】:

    标签: azure azure-sql-database


    【解决方案1】:

    与 SQL Azure 的连接由不同机器的主机名跟踪。这是您试图通过将机器名称传递到连接字符串来实现的目标吗?

    您可以通过执行以下查询来监控与 SQL Azure 数据库的连接:

    SELECT
          e.connection_id,
          s.session_id,
          s.login_name,
          s.last_request_end_time,
          s.cpu_time,
          s.host_name
    FROM
          sys.dm_exec_sessions s
          INNER JOIN sys.dm_exec_connections e
          ON s.session_id = e.session_id
    

    我还想提一下,Azure 的本机自动缩放功能不支持基于内存利用率的自动缩放,而仅支持基于 CPU 利用率的自动缩放。要根据除 CPU 或队列计数之外的任何内容进行自动缩放,您需要使用 WASABi API 或 AzureWatch

    【讨论】:

    • 看起来不错,但现在我了解了它的工作原理,在我拥有的每个写入数据的存储过程中计算/调用似乎是“昂贵的”。毕竟我可能不得不在工人角色中计算它。谢谢!
    • 你想做什么?
    • 我想让一个小型云工作者角色进入数据库以服务大量请求。如果达到 CPU 阈值,我希望启动另一个实例。两个实例都需要转到同一个数据库。出于故障排除的目的,我希望数据库捕获一个实例 ID,以便我可以在启动期间/之后查看实例 0 与实例 1 的性能。
    • 您可以捕获和分析来自每台服务器的性能计数器,以了解一个实例与另一个实例的性能。此外,您可以发布具有您想要监控的性能特征的自定义性能计数器(即:生成控制器操作所需的时间),然后在 Azure 诊断的帮助下捕获该性能计数器
    猜你喜欢
    • 2018-04-25
    • 1970-01-01
    • 2020-11-28
    • 2019-10-09
    • 1970-01-01
    • 2019-03-20
    • 2023-03-08
    • 2019-08-10
    • 1970-01-01
    相关资源
    最近更新 更多