Как узнать, есть ли оверселлинг оперативной памяти на VPS

Оверселлинг RAM (оверсел, overselling, overcommitment) - это когда соседствующим виртуальным серверам (нодам) в сумме выделяется больше оперативной памяти, чем физически есть на сервере. Ситуация возможна, поскольку виртуалки далеко не все и не всегда используют максимум доступных ресурсов. Благодаря этому провайдер может предложить дешевые VPS.

Проблемы появляются, если оверселлинг слишком сильный, и в какие-то моменты памяти всем не хватает. Тогда системы используют файл подкачки (swap file), то есть обращаются к диску, что очень существенно сказывается на скорости работы.

Как это выглядит на практике? В Linux есть кеш уровня операционной системы (page cache), который лежит в RAM. В нём хранятся часто используемые файлы. Если какому-то процессу нужен файл, и он есть в кеше, всё работает быстро. Если в кеше файла не оказывается, то он читается с диска. Если файл большой, или, их нужно сразу много, а диск медленный, будут тормоза.

Так вот, когда каким-то нодам вдруг нужна оперативная память для процессов, а ее уже физически нет, очевидный кандидат для выгрузки на диск - это page cache ненагруженных соседей по серверу. Возможно, чрезмерный оверселлинг RAM плох в первую очередь потому, что является причиной ускоренного и непредсказуемого вымывания кеша ОС. Но, конечно, при недостаточном выделении места под swap, системы могут вообще падать.

Если говорить о сайте, размещенном на VPS, то в page cache могут лежать, например, файлы с таблицами MySQL. И хотя у MySQL есть свой кеш, он совсем не эквивалентен кешу ОС. Постоянное чтение объемных таблиц с диска - медленная работа сайта.

Определить, страдает ли ваш VPS от оверселлинга, не так легко, как хотелось бы. Нужно заполнить page cache файлами и периодически к ним обращаться, наблюдая за дисковой активностью.

Такой скрипт написан для раздела "Тесты производительности VPS". Данные по оверселлингу RAM доступны в большинстве расширенных отчетов (с иконкой графика).

Так выглядит VPS без оверселлинга RAM (все файлы отдаются из page cache, никакого чтения с диска ):

Иногда в начале теста page cache специально сбрасывается, чтобы было видно, как выглядит чтение с диска. Это тоже отличный результат:

Вот VPS, где несколько раз в сутки проявляется оверселлинг:

Неприятный эпизод с 11 вечера до 2 часов ночи:

А на этом сервере кеш ОС не живёт дольше нескольких минут.

В целом, по результатам проверки двух десятков недорогих KVM VPS, можно сказать, что чрезмерный оверселлинг RAM - не очень частое явление, хотя и встречается. Подробности по конкретным провайдерам смотрите в отчетах.

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

Комментарии

Отправить комментарий

Если вы укажете номера тикетов или имя пользователя, отзыв будет выглядеть убедительнее, а провайдеру будет проще разобраться с вашей проблемой

Подробнее о форматировании

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 7 10 + 8 плюс 3 10