Нагрузка phpBB на хостинг: сколько ядер CPU нужно и что упирается первым

Нагрузка phpBB на хостинг: сколько ядер CPU нужно и что упирается первым

 

Когда растёт онлайн, phpBB бьёт не только по CPU, но и по базе и диску. Типичная страница форума собирается из десятков запросов к базе, шаблонов, аватаров и вложений. Если сервер не подготовлен, рост RPS превращается в лавину 5xx и долгих ответов, хотя визуально нагрузки «немного».

Важно понимать профиль. Гости читают темы и разделы, это динамика на чтение. Авторизация, поиск, отправка сообщений и лички тяжелее и чувствительнее к latency базы. Боты добавляют шум, особенно если кеш и GeoIP настроены плохо. Из коробки phpBB может жить и на 1 vCPU, но предсказуемость появляется только после правильной настройки OPcache, PHP-FPM, Nginx и InnoDB.

Оценка по ядрам опирается на среднюю стоимость страницы. На современном PHP 8.2 с OPcache и MariaDB на NVMe динамическая страница phpBB обычно «съедает» 50–120 мс CPU времени. Это даёт грубый ориентир 8–16 динамических запросов в секунду на одно vCPU при условии, что база в памяти и диск быстрый. Без кешей и с медленным диском цифры падают до 4–8 RPS на ядро.

Задача не в том, чтобы «накидать ядер», а убрать узкие горлышки. В большинстве кейсов первым упираются IOPS и сеть соединений, а уже затем CPU. Ниже даю практические ориентиры, таблицу размеров и настройки, которые сразу снимают боль.

 

Что нагружает phpBB больше всего

 

  • Просмотр темы и раздела с большим числом сообщений и вложений.

  • Поиск и индексатор, особенно без внешнего поискового движка.

  • Одновременные авторизованные сеансы с непрогретым кешем.

  • Расширения, которые добавляют запросы на каждую страницу.

  • Боты и сканеры при неправильной конфигурации robots и кешей.

 

Ориентиры производительности на одно vCPU

 

  • С PHP 8.2 + OPcache, Nginx + PHP-FPM, MariaDB 10.6+, NVMe

    • Динамика чтения гостями: 8–16 RPS на 1 vCPU при p95 ниже 250–300 мс.

    • С авторизацией и поиском: 5–10 RPS на 1 vCPU.

     

  • Без OPcache или на медленном диске

    • Динамика падает до 4–8 RPS на 1 vCPU даже при той же базе.

     

  • Формула прикидки

    • RPS на ядро приблизительно равно 0.6 ÷ t_php, где t_php в секундах среднее CPU-время генерации страницы. Пример: t_php = 0.08 с даёт около 7.5–10 RPS на ядро с учётом накладных.

     

Быстрый sizing по онлайнам

 

Онлайн одновременно

Оценочный RPS динамики

Рекомендовано vCPU

RAM

Диск

Комментарии

50 гостей

5–8

2

4–6 ГБ

SSD

OPcache, базовый тюнинг InnoDB

200 гостей

12–20

4

8–12 ГБ

NVMe

Redis кеш, microcache для гостей

500 гостей

25–40

6–8

16–24 ГБ

NVMe

БД на отдельном томе или VDS

1000+ гостей

50–80

12+

24–32 ГБ

NVMe RAID

Разделение ролей, реплика БД по чтению

Примечание: это рабочие ориентиры, итог зависит от расширений, шаблонов, доли авторизованных пользователей и поиска.

 

Настройки, которые сразу экономят CPU

 

OPcache

opcache.enable=1

opcache.memory_consumption=256

opcache.interned_strings_buffer=16

opcache.max_accelerated_files=100000

JIT отключать для phpBB, это веб-приложение, выигрыша почти нет

 

PHP-FPM

pm=dynamic

pm.max_children рассчитывать как RAM_под_PHP ÷ средний_расход_на_воркер

отдельные пулы для фронта и админки

 

Nginx

worker_processes auto, worker_connections 8192

отдавать статику без PHP, включить sendfile и gzip_static

microcache на 1–5 секунд для гостей на страницах viewtopic и viewforum

 

MariaDB

innodb_buffer_pool_size 60–70 процента RAM сервера БД

innodb_log_file_size 512M, innodb_flush_log_at_trx_commit=2 для снижения fsync

отключить query_cache, использовать utf8mb4

включить slow_query_log и разбирать запросы длиннее 300 мс

 

Кеш и сессии

Redis для кеша и сессий phpBB, хранение в памяти разгружает диск

cron phpBB запускать системным cron раз в минуту, а не ждать ботов

 

 

Когда масштабировать

 

  • CPU

    • средняя загрузка выше 70 процентов 15 минут и более

    • run queue стабильно больше числа vCPU

     

  • Память

    • буфер InnoDB не помещает активный набор данных и начинается своп

     

  • Диск

    • p95 latency выше 10 мс на NVMe или I/O wait выше 10 процентов

     

  • Сеть и соединения

    • очередь SYN и дропы backlog, TIME_WAIT шторм при пиках

     

 

Чек-лист топ 5 советов

 

  1. Включите OPcache и перенесите статику на Nginx, а не через PHP.
  2. Дайте базе память: 60–70 процентов RAM под InnoDB buffer pool и NVMe для данных.
  3. Включите Redis и microcache для гостей, это снижает динамику в разы.
  4. Следите за p95 latency, slow log и I/O wait, а не только за процентом CPU.
  5. Не смешивайте базу и веб при больших онлайнах, вынесите БД на отдельный VDS.

 

Что входит при заказе у нас

  • Поднимем phpBB на оптимальном LAMP с OPcache, Redis и тюнингом MariaDB.

  • Настроим microcache и корректный cron форума, мигрируем базу и файлы.

  • При аренде от 6 месяцев настраиваем серверы бесплатно.

 

Как оформить заказ

 

  • Выберите тариф хостинга или VDS на сайте и укажите примерную нагрузку: средний онлайн, пиковый RPS, наличия поиска и расширений.

  • Мы предложим конфигурацию по ядрам, памяти и диску, согласуем перенос и график работ.

 

Акция для клиентов QCKL

 

  • При оплате хостинга или VPS от 6 месяцев удвоим оплаченный период.

  • Оформите заказ сейчас и укажите в комментарии к заявке текст «Удвоение периода 6+ месяцев». Закрепим условия и активируем приоритетно.

 

  • 0 istifadəçi bunu faydalı hesab edir
Bu cavab sizə kömək etdi?

Uyğun məqalələr

HTTP Ошибки: частые причины и как исправить

  Ошибка 403: Forbidden Описание: Сервер понимает запрос, но отказывается его выполнять. Обычно...

Настройка DNS на базе CloudFlare

  Cloudflare — это популярный сервис, предоставляющий защиту и улучшение производительности для...

10 примеров использования редиректов в .htaccess

  Перенаправление с одной страницы на другую: apache Копировать код Redirect 301...

FTP подключение к хостингу с помощью FileZilla

  Использование FileZilla для подключения к FTP-серверу — это простой и удобный способ управлять...

Что такое поддомен и с чем это едят?

  Поддомен — это часть доменного имени, которая добавляется перед основным доменным именем. Он...

Powered by WHMCompleteSolution