【问题标题】:How can I view the number of pooled ADO.NET database connections in an Azure App Service?如何查看 Azure 应用服务中的池化 ADO.NET 数据库连接数?
【发布时间】:2017-10-17 15:45:22
【问题描述】:

我的 Azure Web 应用程序中的池连接数有问题。如果我能看到池连接的数量,这将对我有很大帮助,这样我就可以了解它与应用程序使用的关系。

在经典的 Windows 机器上,我可以使用“性能监视器”工具查看 ADO.NET 性能计数器“NumberOfPooledConnections”。但是当我使用 Azure 应用服务时,我不知道如何做同样的事情。

【问题讨论】:

  • 从数据库端可以看到池化的连接,因此如果数据库是 SQL 服务器,例如,您可以使用 sp_who 之类的简单命令(您可以在连接字符串中使用 Application Name 键来简化过滤)
  • @Simon Mourier 在我的情况下这是不可能的,因为 Web 应用程序是一个连接到多个数据库的多租户应用程序。所以我需要查看所有数据库的连接总数。您的解决方案只会给我与 1 个数据库的连接数。
  • 好吧,您仍然可以使用诸如 sp_who 之类的数据库命令来确定与所有数据库的连接数。

标签: azure ado.net connection-pooling azure-app-service-envrmnt


【解决方案1】:

很遗憾,Azure 应用服务不支持性能计数器,因为它具有多租户特性。

见:Access performance counter programmatically in Microsoft Azure web app

您可能想尝试的三件事是:

  1. 启用 Application Insights (https://docs.microsoft.com/en-us/azure/application-insights/app-insights-performance-counters) 或 New Relic。

  2. 如果您的应用程序用于测试目的,我还可以建议部署到云服务,您将可以访问完整的 VM 和传统的 Perf 计数器

  3. 尝试部署到应用服务环境,我相信您至少可以通过编程获得访问权限。这确实很贵。

【讨论】:

    猜你喜欢
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多