gpt4 book ai didi

python - 使用充当 UDP 回显的程序确定服务器可用性

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:14 24 4
gpt4 key购买 nike

我在 ubuntu 中使用 Xen Hypervisor,并且有一个虚拟机。当将虚拟机实时迁移到另一台主机时,虚拟机将不可用,时间范围为大约几毫秒到不超过几秒(取决于环境)。我需要能够尽可能准确地确定那个短时间。所以我需要“以某种方式”每 100 毫秒检查一次虚拟机。我发现虚拟机连续不可用的次数乘以 100,就是我的虚拟机关闭的总毫秒数。

ping 不起作用,因为它不准确,并且在虚拟机不可用的情况下,ping 命令会等待并重试发送 ICMP 数据包,这会破坏在该确切检查时刻查明服务器是否可用的目标。另外我在 here 中问了一个问题反馈是“不要使用 ping!”
所以不要使用PING!

我需要用 python/perl/任何可以完成这项工作的东西编写自己的代码。我怎样才能做到这一点?

最佳答案

ping doesn't work since it's not being accurate and in case of vm being unavailable, ping command waits and retries sending ICMP packets

这是默认设置,但您可以告诉它只发送一个。

$ ping -q -c 1 9.9.9.9 >/dev/null

$ echo $?
1

$ ping -q -c 1 8.8.8.8 >/dev/null

$ echo $?
0

所以

while ! ping -q -c 1 -W 1 x.x.x.x >/dev/null ; do true ; done

Plus I asked a question in here and the feedback was "don't use ping!" so NO USING PING!

但是您要求进行(基于 UDP 的)ping,而不是检查所需服务是否已启动的方法。

关于python - 使用充当 UDP 回显的程序确定服务器可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com