Wiki
Инфраструктура

Steal time — что это простыми словами

Steal time — % времени, когда VPS ждал CPU от гипервизора. На overselling-хостингах 10-30 %, на честных — 0-2 %. Ключевая метрика "честности" хостера.

Steal time (`%st` в выводе `top`, `vmstat`) — процент времени, когда виртуальная машина запросила CPU, но гипервизор его не дал (отдал другой VM на том же хосте). Уникальная метрика виртуализации — на bare-metal её нет.

Значения: (1) 0-2 % — норма, гипервизор не перегружен, соседние VM не воюют за ресурсы. (2) 2-10 % — есть pressure, часы пик заметны, но приемлемо. (3) 10-30 % — сильный overselling от хостинга (продано больше vCPU, чем есть физических ядер), приложение тормозит без видимой причины. (4) >30 % — критический overselling, менять хостера.

Как измерить: (1) `top` → строка "Cpu(s):" → колонка `st`. (2) `vmstat 1 5` → `st` колонка. (3) `mpstat 1 5` → колонка `%steal`. Прометей-нода-экспортер: `node_cpu_seconds_total{mode="steal"}`.

У нас на elistrax steal time на VPS-тарифах — 0-2 % (гарантия). Каждый vCPU — реальный AMD EPYC Zen 4 thread с честной аллокацией, никаких "продадим 200 vCPU на 32-core сервер и посмотрим". Это одно из отличий от дешёвых хостингов €1-2/мес.

Частые вопросы

Как узнать overselling до покупки?
Смотрите отзывы + попросите trial. Первый час запуска — `vmstat 1 3600` и график.
Что делать при высоком steal?
(1) обратиться в support хостера. (2) если игнор — перенос на честный хостинг. Продукту дороже терять пользователей от тормозов.

Смотрите также