0

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

对于 Web 服务器,我想必须考虑每个时间单位的 HTTP 请求,并且可能会消耗带宽。

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

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

应根据需要权衡所有这些因素,以获得每台服务器的最终“健康”数据。

编辑. 这个想法是“健康”度量为技术人员提供了服务器工作负载的全局视图。如果服务器出现“健康状况”低下,技术人员将能够深入研究并查看机器的详细信息,以查看导致“健康状况”低下的特定输入。

我的问题是:

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

谢谢。

4

3 回答 3

1

您认为这种“健康”措施有意义吗?

不。如果您的单号已关闭,有人会问的第一件事是“怎么了?” 此外,请考虑趋势分析对于早期错误检测非常重要的事实。

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

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

您能否为 Web 服务器(IIS 7)和数据库服务器(SQL Server 2008)建议适当的输入?

这是论坛帖子的一个重要主题,答案在很大程度上取决于您的应用程序的详细信息。从广义上讲,您希望查看诸如错误条件的频率、每个子系统的吞吐量的某种意义/度量、进程外调用超过性能阈值的频率等。展示通常是一个好主意当前数字以及历史和趋势。

您可能想看看微软在这方面的产品:Service Center Operations Manager (SCOM),以了解他们所做的事情的类型。

于 2009-11-20T10:32:13.853 回答
0

SQL Server 2008 带有开箱即用的性能集合和数据仓库,请参阅 SQL Server 2008数据集合和管理数据仓库。SQL 2005 也有一个类似的Performance Dashboard。我并不是说您必须将这些用作仪表板(尽管您可以),但您应该查看这两个 SQL 仪表板,以了解 MS 团队认为将哪些内容放在仪表板中很重要。

于 2009-11-20T23:13:12.743 回答
0

首先,我认为您正在设计一个与您告诉我们的不同的仪表板,技术支持想知道机器是否启动/关闭以及出现问题时该怎么办。

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

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

因此,我相信您需要一个面向系统管理员和应用程序开发人员的仪表板,在这种情况下,这种类型的测量是有意义的,可以调整操作系统或知道何时添加新机器或哪些查询使 SQL Server 陷入困境。

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

现在,如果您真的想要一个用于技术支持的仪表板,那么两种类型的监视器就足够了:服务器启动/关闭 - 应用程序响应/无响应

于 2009-11-19T22:28:31.760 回答