У нас есть гость Hyper-V с 4 виртуальными ядрами, которые сообщают об общем использовании 50% всех виртуальных ядер. То есть эти 50% - это то, что находится в верхней части отчета, с дополнительными 350% «простоя». Это означает, по крайней мере, теоретически, 12,5% от общей емкости виртуального процессора. Однако тот же сервер, находясь под такой нагрузкой, сообщает о времени приема-передачи в стеке TCP (т. Е. Пакет SYN в одну сторону, пакет SYN-ACK обратно), что в четыре раза больше, чем в противном случае. Обратите внимание, что эта часть TCP-соединения не касается других операций ввода-вывода на машине, например диски. Кроме того, я измерил время возврата к другому серверу, чтобы исключить локальные проблемы в моей сети. И мы не заметили потери пакетов.
Итак, есть две возможности: либо гипервизор дросселирует ядро виртуальной машины, либо есть сетевая очередь, добавляющая задержку для пакетов.
Мой вопрос здесь для того, чтобы отбросить первую возможность: являются ли отчеты об использовании ЦП для виртуального гостя изнутри самого гостя умеренно точными?