我有一个托管在 Azure 中多个区域的应用程序。最近客户抱怨性能缓慢。我们怀疑问题出在 Azure 区域之一,我正在尝试查看来自 AppInsight 的分析,我可以看到请求列 cloud_RoleInstance。有没有办法从这个列或任何其他默认列派生区域?
2 回答
您可以在 Analytics 中使用client_CountryOrRegion
和client_City
列。例如,运行以下查询将获得每个区域的请求数量:
requests
| project client_CountryOrRegion, client_City
| summarize count() by client_CountryOrRegion, client_City
请注意,这些列包含该地区的县和市,因此您需要手动将其转换为特定地区。您可以使用Azure 区域页面在城市/国家和数据中心之间进行转换。例如,弗吉尼亚州的博伊顿是美国东部,德克萨斯州的圣安东尼奥是美国中南部。
希望这可以帮助,
阿萨夫
根据您的描述,我假设您的应用程序部署到属于特定数据中心的多个 Azure Web 应用程序(例如美国东部、美国西部、美国中南部等)。您可以利用Azure 流量管理器将请求分发到最近的数据中心,以获得最低的延迟。这是我的测试,你可以参考一下:
我创建了一个流量管理器并添加了两点:
1)命名的Web AppBruce-Chen-001
托管在East Asia
2)命名的Web AppBruce-Chen-003
托管在West US
通过访问我的流量管理器的 DNS 名称并直接浏览特定的 Web 应用程序,我可以从 Application Insights 获取请求数据,如下所示:
据我所知,名为的列cloud_RoleInstance
指示运行您的应用程序的主机的身份。您可以尝试cloud_RoleInstance
根据相关url
列手动转换为特定区域。