Files
huncode f09e56b0fd
Build and deploy / deploy (push) Successful in 15s
revise November 2022 Bitrix performance articles
2026-07-31 14:14:05 +03:00

7.0 KiB
Raw Permalink Blame History

П57 · 2022-11 · Производительность Bitrix-страницы — три прохода саморевью

Рамка пакета

  • Slug: editorial-2022-11-practice-bitrix-performance, editorial-2022-11-mechanism-bitrix-performance, editorial-2022-11-field-bitrix-performance.
  • Голос: М5, ноябрь 2022 года. Краткая прагматичная техническая речь: симптом → причина → проверка → действие. Автор уже системно разделяет границы, но не объявляет production-результат без артефакта.
  • Граница: package не запускает Bitrix, PHP, HTTP, SQL, файловый кеш, шаблон, браузер, profiler, часы или метрики. declared-cache-reuse и declared-cache-build — только ветки локальной модели, не cache hit/miss.
  • Sidecar содержит ровно пять новых файлов. Registry, README, articles.json, очередь, документация, Git, другие месяцы и чужие файлы не менялись.

Проход 1 — факты и техника

  • Проверены три первичных исторических источника Bitrix с точными immutable Wayback URL и ответом HTTP/2 200: StartResultCache, snapshot 27.09.2022, SetResultCacheKeys, snapshot 15.08.2022, курс о кешировании, snapshot 29.06.2022. Все снимки доступны до ноября 2022; текущие плавающие страницы не используются как историческое доказательство.
  • Документы применены строго в своей области: StartResultCache — для возвращаемых веток и базовых частей зависимости; SetResultCacheKeys — для того, какие части $arResult сохраняются; курс — для различения типов кеширования. Ни один источник не назван профилем страницы, SQL trace, cache hit-rate или измерением ответа.
  • Независимая правка редактора: первоначально rollback строился от исходного объекта, поэтому формально возвращал прежний template, не пройдя через учебно изменённую версию. Теперь applyTeachingChange сохраняет отдельную неизменяемую changed model, а rollback начинается именно от неё; fixture проверяет и смену template, и его возврат.
  • runBitrixPerformanceFixture() имеет тринадцать assertions о локальных объектах: нет runtime/SQL/duration/profiler, полный и неполный key contract различаются, неполный contract блокирует изменение, план создаёт отдельную версию с rollback, rollback возвращает template. Нет assertion о реальном Bitrix, пользователе, HTTP, HTML, миллисекундах или эффекте оптимизации.

Проход 2 — голос, полнота и объём

  • Первые два абзаца каждой статьи называют ошибку и цену: слово «Bitrix» скрывает границу, а слепая очистка кеша, переписывание шаблона или изменение ресурсов увеличивают риск без доказательства причины.
  • Каждая статья содержит таблицу, исполнимый code/example, нумерованный маршрут, одну содержательную figure с alt/caption, ограничения, rollback и следующий шаг. Полевой материал не маскирует типичный случай под реальный кейс.
  • Основной текст без списка источников: 8 100 / 9 205 / 8 836 знаков. Внутренний builder и audit:draft подтверждают диапазон 5 000–15 000 и минимум 8 минут чтения.

Проход 3 — визуал, безопасность и выпуск

  • Три SVG разделяют вопросы: request/component/cache/template evidence contract, полнота cache key и маршрут diagnosis/rollback. На ширине 375 px проверены Sharp-рендеры; заголовки и последовательность различимы, мелкий технический текст не несёт единственного смысла.
  • После независимой правки повторно пройдены: node --check web/scripts/upgrade-2022-11.mjs; node web/scripts/upgrade-2022-11.mjs --verify-fixture — PASS 13/13; cd web && npm run audit:draft -- scripts/upgrade-2022-11.mjs — PASS; прямой import-safe экспорт без date/author; xmllint --noout; safety scan без script, foreignObject, external/data href и inline handlers; Sharp-review всех SVG на 375 px.
  • При приёмке пакет добавлен в registry поверх исходных slug; articles.json, даты и автор не менялись. README обновлён с 172 до 175 принятых материалов из 358. Чужие sidecar-файлы не затрагивались.

Интеграционная приёмка

  • Строгий аудит опубликованного overlay прошёл для всех трёх slug: 8 108 / 9 205 / 8 864 знака, по одной figure, table и code example. Отдельная merge-проверка подтверждает исходные даты и автора DarkRiDDeR; в registry 166 ревизий.
  • npm run build в web/ завершился успешно: production-сборка сгенерировала 374 статические страницы. Предупреждения относятся только к неподдерживаемым локальным npm-конфигурациям; TypeScript и Next.js завершились без ошибки.
  • Перед commit остаются git diff --check, проверка точного staged-набора и отношение к origin/master; reset и перезапись архива не применялись.