Перейти к содержимому

Решения · WordPress

VPS какого размера на самом деле нужен WordPress?

Обычно меньше, чем вам продавали. Кэшированная страница не доходит до PHP, поэтому память определяет, сколько некэшированных запросов выполняется одновременно, а не сколько у вас может быть посетителей. Здесь арифметика, вопрос о трафике, который никто не освещает, и машина, которую купили бы мы: BD-8 за $12.90 в месяц.

То, о чём хостеры умалчивают

Почему благодаря кэшу ответ скромный

Почти все тарифы хостинга WordPress продаются по объёму памяти. На сайте с кэшем заканчивается вовсе не память.

Кэшированный запрос

Веб-сервер находит готовый HTML-файл и отдаёт его. PHP не запускается. База данных не открывается. Это занимает несколько миллисекунд и почти не требует памяти, и именно это получает большинство ваших посетителей.

Некэшированный запрос

PHP-воркер запускается, загружает WordPress и ваши плагины, обращается к базе данных и собирает страницу. Всё это время он занимает 48–96 MB. Именно для таких запросов и нужна память.

Что нельзя кэшировать

Корзины, оформление заказа, входы в аккаунт, всё персонализированное. Именно поэтому подбор ресурсов для магазина отличается от подбора для блога, и именно здесь платить за память оправданно.

Арифметика

Сколько PHP-воркеров на самом деле помещается в тарифе

Воркеры = (RAM − 300 MB на операционную систему − 400 MB на базу данных) ÷ объём одного воркера. Два столбца соответствуют лёгкой и тяжёлой теме; ваш сайт находится где-то посередине, а в разделе FAQ сказано, как это определить, а не угадывать.

Ёмкость по воркерам PHP-FPM и месячный лимит трафика для каждого тарифа, с актуальными ценами
ТарифRAMЛёгкая темаТяжёлый сайтТрафикЦенаРазвернуть
VPS-1Блог, портфолио, сайт-визитка1 vCPU · 1 GB · 25 GB1 GB631 TB$9.90Развернуть
BD-8Нагруженный сайт, магазин, несколько сайтов на одном сервере4 vCPU · 8 GB · 100 GB8 GB1567832 TB$12.90Развернуть
GL2-4Один сайт, которому нужен запас2 vCPU · 4 GB · 40 GB4 GB7035Unmetered$11.90Развернуть
U2-4-40Сайт с непредсказуемым трафиком2 vCPU · 4 GB · 40 GB4 GB7035Unmetered$14.90Развернуть

Воркер, который тратит 200 мс на страницу, обслуживает пять запросов в секунду. Четыре воркера дают двадцать некэшированных запросов в секунду до появления очереди, а для сайта с кэшем это очень большой трафик. Это не бенчмарки, а арифметика с цифрами, которые стоит заменить своими.

Цифра, которую никто не указывает

Тариф чаще определяет трафик, чем память

Вес страницы × просмотры. Вот и вся формула, и её стоит применить до того, как выбирать по RAM.

Месячный трафик для страниц трёх весов при десяти тысячах, ста тысячах и миллионе просмотров
Вес страницы10,000 просмотров/мес.100,000 просмотров/мес.1,000,000 просмотров/мес.
Лёгкая страница блога0.8 MB8 GB78 GB781 GB
Типичная страница WordPress2.5 MB24 GB244 GB2.4 TB
Страница магазина с множеством изображений5 MB49 GB488 GB4.8 TB

Прочитайте это, прежде чем платить за трафик без учёта

Большинство сайтов на WordPress даже не приближаются к своему лимиту. BD-8 включает 32 TB за $12.90, этого многократно хватит на миллион просмотров типичной страницы, поэтому линейка без учёта трафика стоит своей доплаты, только если реальный всплеск иначе обошёлся бы вам дороже разницы. Если ваш трафик это изображения и видео, а не текст, перед выбором проделайте расчёт выше со своим весом страницы: именно в этом случае лимит трафика заканчивается, пока память простаивает.

Откровенно

Что купили бы мы сами

Два ответа, и ни один из них не самая дорогая машина на странице.

Для начала

VPS-1 · $9.90/мес.

1 ядро, 1 GB, 25 GB SSD. С плагином кэширования этого достаточно, чтобы полноценно держать блог или сайт-визитку, и это стоит меньше, чем год ошибки в выборе. Если окажется мало, вы это заметите: под нагрузкой сайт замедлится, а не упадёт, а переход на тариф выше сводится к копированию файлов.

Тот, который купили бы мы

BD-8 · $12.90/мес.

4 ядра, 8 GB, 100 GB SSD и 32 TB трафика, дешевле, чем C4-8-150 с теми же ядрами и памятью и 4 TB. Компромисс реален, и мы о нём говорим прямо: эта платформа настроена на плотность размещения, а не на тактовую частоту, поэтому один тяжёлый запрос может выполняться медленнее, чем на менее плотно загруженном хосте. Для WordPress, где работа состоит из множества мелких запросов, а не одного тяжёлого, это правильный компромисс.

Вопросы

Что спрашивают перед покупкой.

Сколько RAM нужно WordPress?
Меньше, чем вам говорили, если сайт кэшируется. Кэшированная страница это файл, который веб-сервер отдаёт прямо с диска: PHP не запускается, к базе данных обращения нет. Поэтому на сайте, где большинство посетителей видят кэшированные страницы, RAM определяет, сколько НЕКЭШИРОВАННЫХ запросов могут выполняться одновременно, а не сколько у вас может быть посетителей. Вот почему машина с 1 GB тянет настоящий блог: после того как операционная система и база данных займут свои примерно 700 MB, оставшегося хватает на несколько PHP-воркеров, а нескольких достаточно, когда девять запросов из десяти до PHP не доходят. Где RAM действительно решает, так это магазин или сайт с личными кабинетами: корзины, оформление заказа и сеансы авторизованных пользователей не кэшируются, и каждый из них это живой PHP-запрос.
Сколько посетителей выдержит небольшой VPS?
Честный ответ: со стороны этого никто не скажет, потому что всё зависит от того, какая доля ваших запросов кэшируется и сколько длится некэшированный. Мы можем дать вам арифметику: воркеры = (RAM − 300 MB на ОС − 400 MB на базу данных) ÷ объём одного PHP-воркера, а воркер, тратящий 200 мс, обслуживает пять запросов в секунду. Перемножьте и будьте пессимистичны. Затем проверьте: разверните сервер с почасовой оплатой, проведите нагрузочный тест своего сайта со своими плагинами, а потом удалите машину. Это стоит несколько центов и точнее любой оценки на этой странице, включая нашу.
Что скорее закончится первым: трафик или память?
Трафик, чаще, чем принято думать, и именно эту цифру почти ни один хостер не указывает рядом с тарифом. Типичная страница WordPress весит около 2,5 MB, поэтому сто тысяч просмотров это примерно 244 GB, с запасом. Миллион это около 2.4 TB, а это больше лимита нескольких тарифов, у которых ещё полно свободной памяти. Именно поэтому на этой странице есть столбец с лимитом трафика: у BD-8 32 TB, у C4-8-150 4 TB, и для сайта с большим количеством медиа эта разница важнее, чем число ядер.
Нужен ли мне управляемый хостинг WordPress?
Только если не хотите сами заниматься обновлениями. VPS даёт вам root и больше ничего: вы сами устанавливаете WordPress, сами обновляете его, сами делаете резервные копии и сами отвечаете, когда плагин в 2 часа ночи ломает сайт. Это дешевле и гибче, но действительно требует больше работы. Если такая работа вам не нужна, у нас есть управляемые тарифы, и мы лучше направим вас к ним, чем продадим машину, которую вы не будете обслуживать. WordPress без обновлений надёжнее всего остального в интернете оказывается взломанным.
Размещать ли WordPress и MySQL на одном сервере?
Для одного сайта да, почти всегда. Разделение добавляет сетевой переход к каждому запросу и вторую машину для обслуживания в обмен на запас, который вам, скорее всего, пока не нужен. Разделяйте, когда узким местом действительно стала база данных и вы это измерили, или когда у вас несколько сайтов с такой нагрузкой, что базу данных хочется изолировать. Если всё же разделяете, наша линейка управляемых баз данных обслуживает PostgreSQL и MySQL за вас, а это уже другой компромисс: больше денег, меньше ваших вечеров.
В каком регионе должен быть сервер?
Тот, что ближе к вашим читателям, а не к вам. Расстояние один из факторов, от которых зависит, как быстро страница начинает загружаться, и сайту, который читают в Европе, лучше находиться в Европе, даже если вы сами не там. Если читатели разбросаны, разместите сервер рядом с самой большой группой, а статические файлы отдавайте через CDN: именно с этим CDN по-настоящему хорошо справляется. Мы работаем в нескольких регионах, и на странице каждого тарифа указаны те, где его действительно можно развернуть.
Можно ли перенести на такой сервер существующий сайт?
Да, и это копирование файлов и дамп базы данных, а не отдельный продукт. Подойдёт любой стандартный плагин для переноса, или можно перенести вручную с помощью rsync и mysqldump, если хотите понимать, что происходит. Разверните новую машину с почасовой оплатой на время проверки копии, направьте на неё домен, когда всё устроит, и удалите старую. Пересечение стоит центы, а откат сводится к тому, чтобы «вернуть DNS обратно».