Wordpress - трата ресурсов CPU - 2026
WordPress — самая популярная CMS в мире, работающая под управлением PHP. Однако, как показывает независимое профилирование, от версии к версии WordPress потребляет всё больше ресурсов процессора даже при рендеринге пустой страницы «из коробки» (без единого плагина). В 2026 году эта тенденция не только не остановилась, но и ускорилась.
Методология
Измерения проводятся с помощью PHP-профилировщиков (XHProf, SPX) на чистой установке каждой мажорной версии WordPress. Тестируется только главная страница — без плагинов, с темой по умолчанию (Twenty* соответствующей эпохи). Метрика: количество тактов процессора (CPU cycles), затраченных на генерацию страницы.
Динамика потребления CPU
| Версия | Год | Тактов CPU (усл. ед.) | Рост относительно WP 1.0 |
|---|---|---|---|
| WP 1.0 | 2004 | 4 287 | 1× |
| WP 3.0 | 2010 | 33 000 | ~7,7× |
| WP 5.0 | 2018 | 87 000 | ~20× |
| WP 6.0 | 2022 | 366 000 | ~85× |
| WP 7.0 | 2026 | 367 000 | ~86× |
Ключевой вывод: с версии WP 1.0 до WP 7.0 потребление CPU выросло в 86 раз без какого-либо дополнительного функционала со стороны пользователя — просто за счёт разрастания ядра CMS.
Другие метрики деградации
| Метрика | WP 1.0 | WP 7.0 | Рост |
|---|---|---|---|
| Время рендеринга страницы | 1× | 11× | в 11 раз |
| Количество подключаемых файлов | 1× | 35× | в 35 раз |
| Потребление памяти | ~0,5 MB | ~18 MB | в 36 раз |
| Размер исходного кода | ~1 MB | ~40 MB | в 40 раз |
| Такты препроцессора | 1× | 110× | в 110 раз |
Анатомия регрессии: WP 6.9 → WP 7.0
Переход с WP 6.9 на WP 7.0 (2026) даёт прирост всего ~0,3% по CPU (366K → 367K), но детальное профилирование в SPX показывает ухудшение внутренней архитектуры:
| Метрика | WP 6.9 | WP 7.0 | Δ |
|---|---|---|---|
| Wall time (мкс) | 104 310 | 133 820 | +28,3 % |
| Количество вызовов функций | 416 045 | 439 406 | +5,6 % |
| Уникальных функций | 2 438 | 2 545 | +4,4 % |
| Пиковое потребление памяти | 6,55 MB | 6,80 MB | +3,9 % |
Основной источник регрессии — блочный рендеринг. Количество блоков на странице не изменилось (934), но каждый блок стал обрабатываться дольше:
| Функция | WP 6.9 | WP 7.0 | Δ |
|---|---|---|---|
| WP_Block::render (934 вызова) | 428 ms | 719 ms | +291 ms (+68 %) |
| render_block (635 вызовов) | 154 ms | 253 ms | +100 ms |
| do_blocks (18 вызовов) | 153 ms | 249 ms | +96 ms |
| render_block_core_post_template | 66 ms | 113 ms | +47 ms |
| render_block_core_pattern | 56 ms | 89 ms | +33 ms |
Причина — новые хуки, добавленные в 7.0: каждый блок теперь проходит через конвейер custom CSS / anchor / supports, который навешивает тег-процессор на каждый блок (~900 итераций):
wp_render_custom_css_class_name— 934 вызоваwp_render_custom_css_support_styles— 891 вызовblock_core_gallery_render_context— 891 вызов (в т.ч. на не-gallery блоках)block_core_paragraph_add_class— 217 вызововwp_apply_anchor_support— 169 вызовов
Рост кодовой базы
С 2008 по 2026 год WordPress вырос количественно:
| Версия | Размер папки | Количество файлов | Папок |
|---|---|---|---|
| WP 2.7 (2008) | 5,38 MB | 603 | 76 |
| WP 3.0 (2010) | 7,92 MB | 756 | 79 |
| WP 4.0 (2014) | 16,8 MB | 1 156 | 119 |
| WP 5.0 (2018) | 38,0 MB | 1 713 | ~130 |
| WP 6.0 (2022) | ~45 MB | ~2 000 | ~150 |
| WP 7.0 (2026) | ~50+ MB | ~2 200+ | ~160+ |
Общий размер увеличился примерно в 10 раз, количество файлов — в 3,5 раза.
Почему это важно
Хостинг-провайдеры рекламируют тарифы «15 сайтов за 250 рублей», подразумевая статические HTML или лёгкие PHP-скрипты. Реальное размещение одного современного WordPress-сайта на таком тарифе приведёт к исчерпанию CPU-квоты ещё до того, как зайдёт первый посетитель.
Даже «чистый» WP 7.0 без плагинов тратит в 86 раз больше CPU, чем WP 1.0. С плагинами (WooCommerce, SEO, кеширование, page builder) потребление легко умножается ещё в 2–5 раз.
Резюме
- WordPress 7.0 потребляет в ~86 раз больше CPU, чем WordPress 1.0, на той же задаче (рендеринг главной страницы).
- Основной источник роста — блочный редактор (Gutenberg) и его обвязка, которая навешивает дополнительные обработчики на каждый блок.
- Даже межмажорный переход 6.9 → 7.0 даёт прирост wall time на +28 %.
- Рост потребления CPU не является следствием нового функционала для пользователя — это результат разрастания ядра и отсутствия оптимизации «по умолчанию».
- При выборе хостинга необходимо закладывать минимум в 100 раз больше ресурсов, чем требуется для простого PHP-сайта.
Ссылки
- Линейки версий WordPress под микроскопом — Хабр, 2026
- SPX-профилирование WP 6.9 vs WP 7.0 — Weston Ruter
- Performance Benchmarks for WordPress 7.0 — GitHub
- Dear WordPress community, have we lost our collective sanity? — ILOVEWP, 2019
- WordPress с OpenLiteSpeed vs классический LEMP: реальные бенчмарки — Хабр, 2026
