想象一下,您有一个使用分布式缓存的电子商务业务,例如 NCache 更快的响应时间。 在假期期间,您的缓存集群预计将为数千个连接的客户端提供服务。 但是,相反,您的客户支持团队会收到有关网站停机时间和用户体验缓慢的投诉。 什么地方出了错? 嗯,很简单。 您未能在峰值负载下监控缓存。
你可能会问,为什么这很重要? 在生产过程中监控缓存可帮助您在警告信号变得麻烦之前识别它们。 花时间这样做可以防止您的企业遇到潜在的网络中断、内存开销等问题。
丰富的监控工具集 NCache
幸运的是, NCache 附带许多工具来帮助您监控缓存。 这些包括以下所有内容。
NCache 网络管理员
网络管理员 是一个基于 Web 的管理工具,用于配置缓存并查看其统计信息。 此工具随您的 NCache 安装并允许您通过添加或删除节点、配置安全性等来管理您的缓存。
NCache 网络监视器
网络监视器 是一个基于 Web 的监控工具,可让您实时评估您的分布式缓存和 remote clients 执行。 它包含一个现有的仪表板,提供简单的拖放计数器来监控每个节点。 您还可以根据您感兴趣的指标设计自定义仪表板。
NCache Windows PowerShell中
本篇 PowerShell的 是一个 CLI 工具,可让您使用 Windows PowerShell 监视服务器和客户端统计信息。 它为您提供 .CSV 格式的计数器列表。
NCache 日志
博曼 日志 记录所有缓存活动,对于在问题变得严重之前检测问题甚至观察特定环境下的缓存行为至关重要。 默认情况下,您的所有缓存/网桥活动都记录在每个服务器节点上的文件中。 NCache 还提供了一个复杂的日志查看器来组织您的日志以获得更好的可读性。
Windows PerfMon 工具
这些工具同样是宝贵的资源。 这 Windows 性能监视器 可以访问各种 NCache 性能计数器。 因此,您也可以使用与 PerfMon 兼容的工具来监控缓存性能。 此计数器信息可以帮助您确定过程限制并在需要时微调环境和应用程序。
NCache 事件记录 NCache
这些日志根据事件的严重性在 Windows 事件日志 (提供所有安全、应用程序和系统应用程序的详细记录)。 这些日志可以快速诊断缓存集群中的任何错误。
第三方工具
格拉法纳 & 普罗米修斯 是另一种监控缓存集群的好方法。 由于 Prometheus 通过收集到的集群数据 NCache Metrics,Grafana 使用它作为数据源,将数据显示为人类可读的图表。
NCache 更多信息 故障排除 NCache 灭菌监测 监控缓存
生产前的基线性能测试
在开始监视生产中的缓存之前,建议进行生产前基线测试——尤其是在您的实时环境配置中。 此类测试的中心目标是缓存可接受的性能阈值。 如果您已完成生产,此测试也可以在暂存期间进行。
此基准性能测试使您能够根据此阈值监控缓存性能,并在您知道最佳性能时帮助诊断特定问题。 例如,如果内存利用率始终高于基线标记,您可以选择添加更多服务器。
1. 应用性能基线
您只需要考虑以下几点来测试您的环境:
应用层测试——独立于 NCache 并且仅仅是您的应用程序的性能。 例如,对于 Web 应用程序,您需要测试页面请求的响应时间。
数据库层测试(也 NCache 独立)涉及检查查询的数据库响应时间、网络开销和大型数据库集的性能。
2. NCache 绩效基准
所以,在哪里 NCache 适合这个吗? 为了 NCache,您应该考虑请求/秒、平均时间/操作、对象大小和内存/CPU。 此外,您可以监控事件日志以了解健康、工作状态集群中的事件,以作为参考,以便在它们投入生产时进行比较。 您甚至可以与监控团队共享这些基线详细信息作为比较。
请记住 NCache 性能会影响应用程序的性能,并且必然会发生异常。 例如,当负载增加时,集群中所有服务器节点的 CPU 消耗都会增加。 这是完全正常的,因为此时没有任何问题。 您只需要在集群中添加另一台服务器即可在所有服务器之间分担负载。
显示器 NCache 生产性能
灭菌监测 NCache 生产中的集群健康
在处理分布式缓存集群中的大量客户端时,不用说,您需要确保它在峰值负载下是健康的和调整的。 这 NCache 服务器和客户端应用程序的健康可以通过监控 NCache 通过缓存计数器向您显示健康活动的工具。
通常,数据中心有很好的网络,但我们注意到在我们的客户环境中,套接字中断或网络可能中断。 这种情况会导致延迟,因为即使整个连接没有中断,通信也会中断。 因此,有必要监视网络是否部分连接,从而导致脑裂和客户端连接中断。
NCache 启动自动恢复机制来解决这个问题,这是一项昂贵的任务。 因此,您需要监控集群运行状况。
运用 NCache Web Monitor,您可以监控缓存运行状况的各种指标:
1- 集群健康
你可以看到 集群中每个服务器节点的状态,它与其他节点的连接,以及连接的客户端数量一目了然。
2- Windows 事件日志
您可以轻松检查 事件日志中的任何错误,它还显示针对每个事件的详细消息。 因此,在部分连接的集群的情况下,您可以轻松诊断是否是因为 脑裂 或其他一些原因,如“事件日志”窗口中记录的那样。
3- API 日志
您也可以选择 记录 API 调用 从服务器节点到客户端——然而,这是一个内存计数器。
4. 系统资源
要验证您的集群是否健康,您还需要监控 CPU 利用率、内存峰值和网络使用情况——这种警惕性可确保您的应用程序不会面临短缺。 例如,如果您看到 CPU 使用率不断提高,您可以选择增加 CPU 资源。
5. NCache 通知
NCache 还提供了一个 机制 发送有关特定事件的警报,例如节点启动/停止或状态传输开始。 此类通知将发送到提供的电子邮件,因此您可以在任何地方收到任何意外活动的通知。 您可以在 NCache 文档。 除此之外,如果值超过预先配置的阈值,则 CPU 利用率、队列大小、内存、网络带宽和请求/秒的缓存健康警报也会记录在 alerts.xml 中。
灭菌监测 NCache 生产中的负载/容量
对于此类监控,您需要确定缓存集群的一般峰值负载和在每台服务器上执行的事务。 如果涌入增加,比方说在年度销售期间,就有可能出现环境不稳定或行为不确定的情况。 为此,您需要监控每台服务器每秒进行多少次获取或请求,以便快速对您可能遇到的任何与性能相关的问题执行根本原因分析。
针对负载的吞吐量将决定是否需要增加容量。 如果您已经为负载监控执行了基线测试,并且统计数据显示事务数量持续飙升,您可以选择扩大规模。 您可以通过增加 CPU 资源或通过添加更多缓存服务器进行横向扩展来实现。 我们已经介绍了您可以使用的柜台。
结论
NCache 是一个功能丰富的分布式数据存储,具有 100% 本机 .NET 和 Java 支持。 因此,当您的缓存集群在高事务生产环境中运行时,您必须监控节点、集群和客户端连接。 除此之外,您还需要关注内存和网络带宽等缓存资源。 NCache 包含多种工具和警报,以尽可能方便地监控您的集群环境。
这不仅可以让您考虑指标中的任何意外峰值,还可以帮助您轻松诊断性能下降的来源。