我们开发了一个使用 SQL Server 作为后端的 .NET Web 应用程序。现在我们想为技术支持团队提供一个监控仪表板应用程序。这个想法是,这个监控应用程序将显示托管应用程序的 Web 服务器和保存数据的数据库服务器的“健康状况”的全局图片。这个“健康”度量应该反映每台机器的工作量,并且是从我需要确定的一些输入中计算出来的一个数字(假设在 0 到 100 之间)。
对于 Web 服务器,我想必须考虑每个时间单位的 HTTP 请求,并且可能会消耗带宽。
对于数据库服务器,我认为应该使用每个时间单位的事务,并且可能应该使用锁或其他一些指标或数据库并发性。
此外,还应考虑其他一些通用输入,例如 CPU 负载、内存使用和磁盘队列长度。
应根据需要权衡所有这些因素,以获得每台服务器的最终“健康”数据。
编辑. 这个想法是“健康”度量为技术人员提供了服务器工作负载的全局视图。如果服务器出现“健康状况”低下,技术人员将能够深入研究并查看机器的详细信息,以查看导致“健康状况”低下的特定输入。
我的问题是:
- 您认为这种“健康”措施有意义吗?
- 我正在考虑使用性能计数器来捕获输入数据。这是最好的选择吗?
- 您能否为 Web 服务器(IIS 7)和数据库服务器(SQL Server 2008)建议适当的输入?
谢谢。