我想知道是否有检查服务器是否每秒通过执行“HTTP GET请求”的优势?
任何服务器可以处理它吗?
“任何”服务器可以处理吗? 大概。
你应该这样做吗? 可能不会。
问你自己几个问题:
当我第一次学习编程时,我决定要制作一个秒表。 当我终于得到一个工作的应用程序,我发现我的笔记本电脑CPU使用率是100%,每当我跑了。
我的执行循环没有一个等待周期。 它只是继续执行的时间function。
那一天,我学到了一个宝贵的教训:没有一个无限精确的测量。
虽然我像其他人一样质疑要频繁监控的原因,但技术方面并不是问题。 与典型的页面加载相比,每秒一个GET请求绝对是微不足道的。
你的服务器可以处理它吗? 我们没有什么可以回答这个问题的,但是如果你的服务器有问题处理,那么我会build议它完全不适合其他任何服务。
Nagios或munin可能可以每秒钟处理运行testing,但它有点迷恋。 你有没有理由需要频繁检查? 如果你的服务器不稳定,你可能会遇到更深层的问题。
大多数商业监控软件默认提供1分钟或5分钟的时间间隔。 这似乎是一个很好的检查时间间隔。
我在这里和约瑟100%同意。 如果您仍想进行某种实时监控,则可以考虑嗅探Web服务器日志中是否有服务器错误,以及日志中是否有新条目存在一段时间。 它不会把负载放在服务器上,但基于这个触发警报是一个挑战:)
1秒的分辨率非常高,可能不需要。 不过,我更喜欢collectd,因为它是为更高分辨率(10秒)而devise的,然后是其他OSS工具,比如munin(5分钟)。
每秒监控服务器没有任何问题,特别是在高负载的服务器上,Apache的查询可能会暂停几秒钟,导致您的请求需要备份,或者在特定时刻发出虚假警报,但效率并不高没有错'。 一秒钟的检查并不会让你的回复速度更快,99.9%的情况下,10秒或30秒的检查同样重要。