# Оцените VPS CPU и память по реальной рабочей нагрузке | SwissOctet Insights https://swissoctet.com/ru/insights/size-vps-cpu-and-memory/ SwissOctet / Аналитика / Облако и VPS Облако и VPS Применено · 6 мин чтения Подбирайте размер VPS, CPU и память по реальной нагрузке Составьте бюджет памяти, проверьте конкуренцию и отделите один загруженный поток от работы, которая может использовать несколько виртуальных ядер. От редакции SwissOctet Сохранить руководство Скопировать ссылку НА ЭТОЙ СТРАНИЦЕ 01 Описывайте нормальную и пиковую работу отдельно 02 Постройте бюджет памяти перед добавлением процессов 03 Отличайте использование CPU от полезного параллелизма 04 Ищите давление и ожидание, а не только средние значения 05 Пример планирования с явными допущениями 06 Оставьте ясный путь для следующего измерения Ваш практический чек-лист Источники и дополнительное чтение Назад в библиотеку ПРЯМОЙ ОТВЕТ Выбирайте память для операционной системы, постоянных сервисов и реалистичной параллельной нагрузки с запасом. Выбирайте CPU после измерения того, какие задачи загружены, выполняются ли они параллельно и какие задержки пользователи действительно испытывают. 01 Описывайте нормальную и пиковую работу отдельно Количество посетителей само по себе — слабый входной параметр для подбора размера. Один запрос может отдавать кэшированный файл, тогда как другой формирует отчёт или обращается ко множеству таблиц. Перечислите веб-воркеры, базу данных, кэш, потребителей очереди и задачи обслуживания, которые будут совместно использовать VPS. Опишите нормальную параллельность и самую загруженную ожидаемую операцию. Включите запланированные экспорты, обновления пакетов и развёртывания, а не рассматривайте их как невидимую фоновую активность. Для существующего проекта соберите данные за репрезентативный период, включающий окно пиковой нагрузки. Фиксируйте время отклика и ошибки вместе с использованием ресурсов. Для нового проекта создайте небольшой тест с реалистичными формами запросов и объёмами данных. Ваша первоначальная оценка будет несовершенной; полезная цель — документированная отправная точка, которую можно сравнить с измеренным поведением после запуска. 02 Постройте бюджет памяти перед добавлением процессов Потребность в памяти складывается из системы, постоянных сервисов приложения, использования на воркер и временных операций. Умножение объёма памяти воркера на планируемую параллельность — грубый инструмент планирования, а не гарантия, поскольку общая память и кэши усложняют итог. Наблюдайте за фактическими процессами под нагрузкой. Оставляйте достаточно запаса, чтобы задача обслуживания не заставляла приложение конкурировать за каждую оставшуюся страницу. Настройки базы данных могут неожиданно умножить использование памяти. PostgreSQL документирует, что work_mem применяется к операциям запросов, и несколько операций или сессий могут выполняться одновременно. Поэтому настройка, которая в изоляции выглядит скромной, может оказывать более крупный системный эффект. Изучите собственные рекомендации вашей базы данных, протестируйте реалистичную параллельность и не отдавайте каждый заявленный гигабайт одному кэшу. 03 Отличайте использование CPU от полезного параллелизма Количество процессоров говорит о том, сколько ресурсов выполнения предоставлено гостю, а не о том, насколько эффективно ваше программное обеспечение может их использовать. Один загруженный поток может ограничивать приложение, пока другие ядра простаивают. Добавление воркеров может помочь независимым запросам, но также может усилить конкуренцию за базу данных и потребность в памяти. Проверьте модель параллельности приложения, прежде чем предполагать, что удвоение числа ядер даст удвоенную пропускную способность. KVM предоставляет виртуальные машины с собственным виртуальным оборудованием. Это не превращает каждую метку vCPU в идентичный бенчмарк на разных хостах и поколениях процессоров. Сравните указанную модель CPU и условия выделения ресурсов, где они доступны, затем оцените сервис на собственной рабочей нагрузке. Не делайте вывод о покупке на основе короткого синтетического результата, который не похож на приложение. 04 Ищите давление и ожидание, а не только средние значения Система может ощущаться медленной, не поддерживая высокий средний процент CPU. Процессы могут ждать хранилище, освобождение памяти или другой сервис. Информация о давлении (Pressure Stall Information) ядра Linux раскрывает сведения о задержках CPU, памяти и ввода-вывода в поддерживаемых системах. Эти сигналы могут помочь выявить конкуренцию за ресурсы наряду с обычными метриками использования и таймингами приложения. Читайте метрики вместе. Устойчивое давление на память, свопинг, неудачные выделения памяти и медленные запросы указывают на иное вмешательство, чем один загруженный вычислительный воркер. Ожидание хранилища может оправдывать изменения запросов или другой профиль диска. Внешняя задержка API не будет устранена добавлением локальной RAM. Объясните наблюдаемое ограничение, прежде чем выбирать, какой ресурс увеличивать. Наблюдаемое поведение Вопрос для исследования Возможный следующий шаг Один поток загружен, свободные ядра простаивают Может ли эта работа выполняться параллельно? Улучшите задачу или измените дизайн воркеров Давление на память во время отчёта Сколько операций перекрывается? Ограничьте параллельность или добавьте проверенный запас Медленные запросы с ожиданием ввода-вывода Какие чтения или записи задерживаются? Изучите запросы и поведение хранилища CPU и память на низком уровне, запросы медленные Задерживает ли ответы какая-либо зависимость? Измерьте вызовы нижестоящих сервисов 05 Пример планирования с явными допущениями Представьте небольшое приложение с двумя веб-воркерами, базой данных и одним потребителем очереди. Команда измеряет эти сервисы во время обычных запросов и задачи формирования отчёта. Она обнаруживает, что разрешение четырёх отчётов одновременно резко повышает потребность в памяти, задерживая обычный трафик. Вместо немедленной покупки самого крупного плана она ограничивает параллельность отчётов и снова измеряет результат. Если скорректированная рабочая нагрузка всё ещё требует больше памяти, обновление теперь отвечает наблюдаемой потребности. Если очередь остаётся ограниченной CPU и независимые задания могут выполняться параллельно, больше ресурсов выполнения может быть уместно. Это примеры решений, а не показатели производительности планов SwissOctet. Сохраняйте собственные измерения и ограничения вместе с выбранной конфигурацией. 06 Оставьте ясный путь для следующего измерения Определите признаки, которые запустят пересмотр: ухудшение времени отклика, повторяющееся давление на память, растущие очереди или изменившаяся рабочая нагрузка. Держите мониторинг достаточно лёгким, чтобы он не стал новым узким местом. Пересматривайте после добавления функции или крупного набора данных и избегайте повторных обновлений, когда реальная проблема — неограниченный процесс или медленный запрос. Семейства VPS SwissOctet раскрывают спецификации CPU и памяти, а также отдельные параметры ресурсов. Читайте итоговую конфигурацию после добавления дополнений, включая период оплаты и общую сумму. Подтверждайте условия обновления у действующего оператора, прежде чем полагаться на них. Полезный размер VPS — тот, который выполняет измеренную рабочую нагрузку с разумным запасом и понятным следующим шагом. ПРЕВРАТИТЕ ЭТО В ДЕЙСТВИЕ Ваш практический чек-лист. ✓ Составьте перечень сервисов и работ по обслуживанию. ✓ Измерьте параллельность в обычный и пиковый период. ✓ Заложите постоянную и временную память. ✓ Проверьте, может ли работа CPU выполняться параллельно. ✓ Сравните давление, использование и тайминги приложения. ✓ Определите, когда пересматривать конфигурацию. Скачать чек-лист ЧАСТЫЕ ВОПРОСЫ Детали, которые важны. Стоит ли подбирать размер VPS по месячным посетителям? + Используйте количество посетителей как контекст, затем измерьте сложность запросов, параллельность, объём данных и фоновую работу. Одинаковое количество посетителей может создавать разную нагрузку. Всегда ли больше RAM делает сервис быстрее? + Нет. Это помогает, когда память является ограничением или позволяет полезное кэширование, но не устраняет любую задержку CPU, хранилища или внешней зависимости. Удваивает ли удвоение числа vCPU производительность? + Нет. Параллелизм, характеристики процессора, конкуренция и дизайн приложения определяют, насколько полезна дополнительная ёмкость. ОСНОВНЫЕ ИСТОЧНИКИ Перейдите к источнику. Эти источники поддерживают технические концепции в этом руководстве. Следуйте актуальной документации, прежде чем менять производственную систему. Ядро Linux: Pressure Stall Information docs.kernel.org PostgreSQL: Потребление ресурсов www.postgresql.org Проект KVM: Kernel Virtual Machine www.linux-kvm.org Редакционное руководство от SwissOctet. Примеры иллюстративны. Спецификации услуг, доступные опции и договорные условия необходимо проверять отдельно. СВЯЖИТЕ ЗНАНИЯ Связанная инфраструктура. Vector VPS Швейцария Pulse NVMe Швейцария DeskLink RDP Швейцария СОХРАНЯЙТЕ НИТЬ Ваши следующие заметки. Изучите все руководства ЗАМЕТКА / 01 + Облако и VPS Основа Как выбрать VPS, не гадая Превратите идею приложения в полезный бюджет ресурсов, затем сравните CPU, память, хранилище и передачу вместе. 4 мин чтения Читать руководство ЗАМЕТКА / 02 + Выделенные серверы и GPU Основа VPS или выделенный: выберите подходящую границу Поймите, что меняет физическая машина, что она не меняет и когда она становится полезным шагом для вашей нагрузки. 4 мин чтения Читать руководство ЗАМЕТКА / 03 + Хранение и восстановление Основа Когда NVMe имеет значение для вашего приложения Различайте ёмкость, задержку и пропускную способность, чтобы более быстрый ярлык хранилища отвечал реальной проблеме приложения. 4 мин чтения Читать руководство