[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Latencia del ping dentro de una máquina virtual Xen HVM



Hola lista,

A ver si alguien me puede echar un cable:

Desde una máquina etch virtualizada por hardware (la pasaré a software
cuando pueda, pero de mientras ...)

# ping -c20 10.12.6.1
PING 10.12.6.1 (10.12.6.1) 56(84) bytes of data.
64 bytes from 10.12.6.1: icmp_seq=1 ttl=64 time=0.377 ms
64 bytes from 10.12.6.1: icmp_seq=2 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=3 ttl=64 time=4.15 ms

Si ejecuto el tcpdump mientras hago el ping:

Si el tcpdump escribe en salida standard ejecutandose en primer plano
(y en otra consola el ping):
# ping -n -c20 10.12.6.1
PING 10.12.6.1 (10.12.6.1) 56(84) bytes of data.
64 bytes from 10.12.6.1: icmp_seq=1 ttl=64 time=0.448 ms
64 bytes from 10.12.6.1: icmp_seq=2 ttl=64 time=0.421 ms
64 bytes from 10.12.6.1: icmp_seq=3 ttl=64 time=0.405 ms
64 bytes from 10.12.6.1: icmp_seq=4 ttl=64 time=0.418 ms
64 bytes from 10.12.6.1: icmp_seq=5 ttl=64 time=0.423 ms
64 bytes from 10.12.6.1: icmp_seq=6 ttl=64 time=0.414 ms
64 bytes from 10.12.6.1: icmp_seq=7 ttl=64 time=0.411 ms
64 bytes from 10.12.6.1: icmp_seq=8 ttl=64 time=0.400 ms
64 bytes from 10.12.6.1: icmp_seq=9 ttl=64 time=0.427 ms
64 bytes from 10.12.6.1: icmp_seq=10 ttl=64 time=0.408 ms
64 bytes from 10.12.6.1: icmp_seq=11 ttl=64 time=0.461 ms
64 bytes from 10.12.6.1: icmp_seq=12 ttl=64 time=0.420 ms
64 bytes from 10.12.6.1: icmp_seq=13 ttl=64 time=0.389 ms
64 bytes from 10.12.6.1: icmp_seq=14 ttl=64 time=0.424 ms
64 bytes from 10.12.6.1: icmp_seq=15 ttl=64 time=0.412 ms
64 bytes from 10.12.6.1: icmp_seq=16 ttl=64 time=0.398 ms
64 bytes from 10.12.6.1: icmp_seq=17 ttl=64 time=0.388 ms
64 bytes from 10.12.6.1: icmp_seq=18 ttl=64 time=0.403 ms
64 bytes from 10.12.6.1: icmp_seq=19 ttl=64 time=0.413 ms
64 bytes from 10.12.6.1: icmp_seq=20 ttl=64 time=0.404 ms

--- 10.12.6.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19000ms
rtt min/avg/max/mdev = 0.388/0.414/0.461/0.024 ms


Si el tcpdump escribe en un fichero:
# ping -n -c20 10.12.6.1
PING 10.12.6.1 (10.12.6.1) 56(84) bytes of data.
64 bytes from 10.12.6.1: icmp_seq=1 ttl=64 time=2.35 ms
64 bytes from 10.12.6.1: icmp_seq=2 ttl=64 time=4.11 ms
64 bytes from 10.12.6.1: icmp_seq=3 ttl=64 time=4.12 ms
64 bytes from 10.12.6.1: icmp_seq=4 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=5 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=6 ttl=64 time=0.398 ms
64 bytes from 10.12.6.1: icmp_seq=7 ttl=64 time=4.18 ms
64 bytes from 10.12.6.1: icmp_seq=8 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=9 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=10 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=11 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=12 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=13 ttl=64 time=4.19 ms
64 bytes from 10.12.6.1: icmp_seq=14 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=15 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=16 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=17 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=18 ttl=64 time=4.14 ms
64 bytes from 10.12.6.1: icmp_seq=19 ttl=64 time=4.18 ms
64 bytes from 10.12.6.1: icmp_seq=20 ttl=64 time=4.15 ms

--- 10.12.6.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19003ms
rtt min/avg/max/mdev = 0.398/3.881/4.197/0.893 ms

Sin tcpdump el resultado es igual que escribiendo en un fichero:
# ping -n -c20 10.12.6.1
PING 10.12.6.1 (10.12.6.1) 56(84) bytes of data.
64 bytes from 10.12.6.1: icmp_seq=1 ttl=64 time=1.26 ms
64 bytes from 10.12.6.1: icmp_seq=2 ttl=64 time=4.13 ms
64 bytes from 10.12.6.1: icmp_seq=3 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=4 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=5 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=6 ttl=64 time=4.00 ms
64 bytes from 10.12.6.1: icmp_seq=7 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=8 ttl=64 time=4.13 ms
64 bytes from 10.12.6.1: icmp_seq=9 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=10 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=11 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=12 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=13 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=14 ttl=64 time=4.13 ms
64 bytes from 10.12.6.1: icmp_seq=15 ttl=64 time=4.15 ms
64 bytes from 10.12.6.1: icmp_seq=16 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=17 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=18 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=19 ttl=64 time=4.16 ms
64 bytes from 10.12.6.1: icmp_seq=20 ttl=64 time=4.12 ms

--- 10.12.6.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19002ms
rtt min/avg/max/mdev = 1.260/4.003/4.164/0.630 ms

Estoy rayado con el tema ...

Por ahí he leido sobre que puede ser la cpu que no le da suficiente
prioridad para procesar los datos que llegan a la tarjeta de red, pero
no sé como verlo si es tema de interrupciones o qué.

La carga no parece alta:
load average: 0.24, 0.16, 0.18

No sé si estará relacionado, pero tambien se me da en caso que en una
de las máquinas HVM la hora se me va hacia el pasado. Esta máquina
tiene un zoneminder, que sí que puede que cargue la máquina. He
probado varias cosas (como pasar acpi=off y noapic al kernel) pero la
hora se sigue yendo (esa máquina aparece con la pantalla por vnc en
negro periódicamente (cada mes o algo así).

¿Alguien me puede orientar?

Muchas gracias


Reply to: