Производительность и надежность

Что такое CPU steal time и почему это важно?

Краткий ответ

Steal time — это процент времени, в течение которого ваш виртуальный процессор был готов к выполнению, но гипервизор отдал физическое ядро кому-то другому. Он отображается в столбце "st" в top. Если постоянно выше 2–3%, это означает, что вы конкурируете за ядро, и это обычная причина необъяснимых всплесков задержки на инстансе с общим vCPU.

Steal time невидим для вашего приложения: код работает на полной скорости, когда он работает, просто ему не всегда дают запуститься. Именно поэтому он проявляется как хвостовая задержка, а не как медленная пропускная способность, и почему среднее время ответа может выглядеть нормально, а 99-й процентиль — ужасным.

Решение — выделенный vCPU, когда физический поток зарезервирован для вас, и никакой другой арендатор не планируется на нём. Два выделенных ядра обычно превосходят четыре общих для всего, что чувствительно к задержке.

См. также: Гипервизор · vCPU

7 ответов в разделе Производительность и надежность

Назад к все ответы