代码之家  ›  专栏  ›  技术社区  ›  CesarGon

IIS和SQL Server的监视仪表板

  •  0
  • CesarGon  · 技术社区  · 14 年前

    我们开发了一个.NET Web应用程序,它使用SQL Server作为后端。现在我们要为技术支持团队提供一个监控仪表板应用程序。这个监控应用程序将显示托管应用程序的Web服务器和保存数据的数据库服务器的“运行状况”的全局图片。这个“运行状况”度量应该反映每台机器的工作负载,并且应该是一个从我需要确定的一些输入中计算出来的数字(例如,在0到100之间)。

    对于Web服务器,我认为必须考虑每个时间单位的HTTP请求,可能还需要消耗带宽。

    对于数据库服务器,我认为应该使用每个时间单位的事务,或者锁或者其他一些指示器或者数据库并发。

    此外,还应考虑一些其他通用输入,如CPU负载、内存使用和磁盘队列长度。

    应根据需要权衡所有这些因素,以获得每个服务器的最终“运行状况”数字。

    编辑 . 其想法是,“健康”度量为技术人员提供了服务器工作负载的全局视图。如果服务器出现低“运行状况”,技术人员将能够向下钻取并查看机器的详细信息,以查看导致低“运行状况”的具体输入。

    我的问题是:

    1. 你认为这个“健康”措施有意义吗?
    2. 我正在考虑使用性能计数器来捕获输入数据。这是最好的选择吗?
    3. 您能为Web服务器(IIS 7)和数据库服务器(SQL Server 2008)建议适当的输入吗?

    谢谢。

    3 回复  |  直到 8 年前
        1
  •  1
  •   RickNZ    14 年前

    你认为这个“健康”措施有意义吗?

    不。有人会问你的单号是不是关了,“怎么了?”此外,考虑到趋势分析对于早期错误检测非常重要的事实。

    我正在考虑使用性能计数器捕获 输入数据。这是最好的选择吗?

    我认为这将是一个很好的起点。

    您能为Web服务器(IIS 7)和 数据库服务器(SQL Server 2008)?

    这是论坛帖子的一个重要主题,答案很大程度上取决于你的应用程序的细节。从广义上讲,您希望了解错误条件的频率、每个子系统吞吐量的一些感知/度量、计算进程外调用超过性能阈值的频率等。通常最好显示当前的数字以及历史和趋势。

    您可能想看看微软在以下领域的产品:服务中心运营管理器(ServiceCenterOperationsManager,SCOM),看看他们所做的事情的类型。

        2
  •  0
  •   Vinko Vrsalovic    14 年前

    首先,我认为您设计的仪表盘与您告诉我们的仪表盘不同,技术支持人员想知道机器是否处于上升/下降状态,以及在出现问题时应该做什么。

    每秒的请求和事务对于容量规划和/或系统和应用程序调整非常有用,而不是技术支持。

    另外,我相信一个数字没有意义,也没有帮助任何人,因为87.75%的数字意味着什么?

    因此,我认为您需要一个针对系统管理员和应用程序开发人员的仪表板,在这里这种类型的测量是有意义的,来调整操作系统,或者知道何时添加新的机器,或者哪个查询使SQL Server陷入困境。

    也就是说,性能计数器已经存储了许多您想要呈现的信息,所以这是有意义的。此外,您可以使用SQL Server跟踪来测量有关查询的性能数据,跟踪不应经常运行,而是以定义的间隔运行。

    现在,如果您真的想要一个仪表盘来支持技术,两种类型的监视器就足够了:服务器向上/向下-应用程序响应/无响应

        3
  •  0
  •   Remus Rusanu    14 年前

    SQL Server 2008附带了现成的性能收集和数据仓库,请参阅SQL Server 2008。 Data Collections and the Management Data Warehouse .同样,SQL 2005也有类似的 Performance Dashboard .我不是说您应该将它们作为仪表板使用(尽管您可以),但您应该查看这两个SQL仪表板,以了解MS团队认为在仪表板中放置哪些内容很重要。