Сколько у вас крадёт хостинг?

Photo 92@21 06 2025 07 20 43

Сегодня я заметил, что мощный сервер у клиента ощутимо тормозит. И обнаружил кражу!

Бизнес облачного и виртуального хостинга строится на том, что они продают нам кусочки большого сервера. Хостинг продаёт нам виртуальные машины по тарифу, в котором указана мощность процессора и количество ядер.

Покупателям кажется, что это похоже на места в самолёте: на 100 кресел можно продать 100 билетов. Но хостинг продаёт гораздо больше. В отличие от самолёта, у хостинга кресла могут быть заняты частично — нагрузка изменяется со временем. Поэтому хостинг частенько продаёт 150 “билетов”, на 100 “кресел”.

Виртуальный сервер любезно отображает украденное процессорное время — показатель CPU Steal Time. Он транслирует, какой процент времени наши приложения ждали своей очереди, пока все процессоры были заняты другими клиентами.

Если у вас крадут до 5%, в индустрии это считается технически допустимым. В виртуализации заложена конкуренция за ресурсы, можно понять. Но если показатель выше 5% — вы получаете меньше ресурсов, чем вам обещали.

Как это проверить:
Через терминал заходим на сервер.
Вводим команду top или mpstat -P ALL 1.
Ответ будет например таким:

%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 97.0 id, 0.5 st

Смотрим за параметром Steal или st, в примере выше он последний. Он меняется со временем, поэтому хорошо бы его мониторить или сделать несколько замеров подряд в разное время.

Что делать, если steal выше 5%:
– Писать в службу поддержки хостинга “Выявлен высокий показатель steal CPU, примите меры” и прикладыватьпоказатели с терминала. Скорее всего, ваш проект перенесут на другую ноду с меньшей нагрузкой.
– Брать тариф Dedicated CPU с гарантированным выделением ресурса. Обычно это в 3 раза дороже — Можно прикинуть, насколько сильно перегружены самолёты серверы на обычных тарифах.
– Переезжать на выделенный сервер — менее гибко, но будет гарантия доступности всех вычислительных ресурсов. Если у вас нагруженные приложения, то это ещё обойдётся дешевле облака.
– Если ситуация повторяется регулярно — хостинг жадный, нужно переезжать.

Моя история закончилась письмом в техподдержку. Показатель Steal time доходил до 40%. Ночью с пятницы на субботу без лишних препирательств нас перенесли на менее загруженную ноду и показатель снизился до 0.5%.

Надо бы сделать автоматизацию, чтобы такое письмо писал робот 🤖