Comments 3
Пояснение терминов из публикации:
ML-Cache = Multi-Level Caching System - многоуровневая система кэширования - от байткода до пользовательского кэша
ISPN = Интеллектуальная Система Предиктивной Навигации - сбор и анализ поведения пользователей + предзагрузка страниц
PWA-Layer = архитектура изолированного прикладного слоя для нативного UX
OPS-UX = браузерная система автоматизации операторов поддержки - обновление, сохранение, семантика, форматирование, наблюдение за DOM
DialogCore = диалоговая система с ИИ и 500+ узлами - 500+ узлов, маршрутизация, ИИ, фильтрация переводов
AI-Оператор = живое UX-присутствие системы - визуальный, интерактивный, коммуникационный, защитный слои
UX-Vibe = визуальный язык интерфейса, создающий ощущение диалога - всё, что пользователь видит и чувствует, - часть разговора
LT, RT = Load and Reliability Testing (в публикации была опечатка: PT вместо RT)
data-src = атрибут для отложенной загрузки (JS-паттерн lazy; не трогать при рефакторинге)
Главный посыл:
Пользователь не доверяет скорости.
Он доверяет вниманию.
А внимание - в архитектуре.
Очень двоякое ощущение от статьи. С одной стороны, вы пытались технические детали указать - это хорошо. С другой стороны, о чём именно статья, я так и не понял.
Примерный список того, что показалось странным:
Brotli + fallback GZIP - это не кеширование, это сжатие. Зачем вы его к кешированию относите?
php71wразбираться с производительностью, и при этом не обновиться хотя бы до 7.4 - это странносудя по
[num_cached_scripts] => 941- проект совсем небольшой, и вопрос скорее, как там столько тормозов набрать"с настройками .htaccess что-то не то" - опять же таки, если проблемы с производительностью, то вроде бы nginx бы вам выиграл немного, но зато "дёшево"
"Сюда же и развёртывание Redis в Docker" - почему акцент на докер? а как всё остальное развёрнуто? Ну и говоря про кеш, я бы скорее акцентировался на том что именно кешировать. От этого очень сильно зависит потенциальный профит и набор потенциальных проблем
"А впереди ещё LT, PT" - что это?
схема "Архитектура ML-Cache". Почему мл? и почему кеш, хотя там и компоненты без кеша указаны? И на схеме что-то вообще странное творится: иннодб ходит в опкеш? А фпм живёт отдельной жизнью и базой не пользуется? А вот редиса, кстати, на схеме вообще нет.
пока от темы с бд не ушли - как так вышло, что в статье про производительность, и с упоминанием аж даже разных дб движков, ничего нет про сами запросы, индексы, объем базы?
"Архитектура ISPN" - что такое ispn?
"параллельно рефакторим контроллеры, твиги (везде хотим Lazy), не зацепить бы data-src..." - странное описание. В большинстве случаев для обработки запроса требуется бд и рендерер твигов. Что именно lazy-ли? и до какого момента? И что у вас в data? как рефакторинг его цепляет?
twig <!-- Где-то выбираем циферки --> <select name="quantity"> {% for i in 1..10 %}<option value="{{ i }}">{{ i }}</option>{% endfor %} </select>- это пример до или после оптимизации?php // А где-то нормализуем отправку в MySQL - 8911... или- тут тот же вопрос. Как это влияет на скорость, на ux? ну и сам фрагмент логики - это ооочень большое упрощение, относительно дивных вариаций номеровкак-то странно в одной статье читать про "поменял всю работу всех операторов" (а их сколько, кстати?) и джаваскрипт рисование звёздочки. Не поймите меня неправильно, и то, и другое может быть интересно, но это проблем прям совсем разного уровня, между собой они практически не связаны. И одно от другого отвлекает
иллюстрации в статье выглядят очень неоднородными - текст скачет по размеру, по цветам. С мобильного устройства очень тяжело в них всматриваться
Спасибо за обратную связь, MaximBobylev!
Очень ценно, что вы вчитались и задали резонные вопросы.
Это значит, что статья задела за живое - а это уже хорошо.
Я отвечу не по пунктам, а по сути:
всё, что вы назвали разрозненным, для меня единый механизм.
Главная мысль статьи - не «как ускорить OpenCart».
Она - в этой строке:
«Пользователь не доверяет скорости. Он доверяет вниманию.»
А «внимание» - это не отдельные фичи.
Это система, где каждый слой говорит с пользователем.
OPcache, Brotli, Service Worker - не просто ускорение.
Это фундамент доверия: "я отвечу быстро, всегда".
top-paths.json и предзагрузка - не просто кэш.
Это следствие поведения: "я знаю, куда ты пойдёшь".
DialogCore, бот, OPS-UX - не просто автоматизация.
Это уважение к времени: "тебя не заставят ждать".
drawSpark, UX-Vibe, пульсации - не "звёздочки".
Это визуальный ритм: "я с тобой, я жив, я не статичная форма".
Даже formatPhoneNumber - да, это не TTFB.
Но оператор не тратит время на ручное исправление,
пользователь не видит ошибку валидации,
система "видит" человека.
Это часть одного целого: инженерия доверия через архитектуру.
Я сознательно не углублялся в Redis, Docker, схемы
- не потому что это неважно,
а потому что не хотел размывать главную мысль.
Да, можно было сделать схемы понятнее.
Да, можно было подробнее про настройки.
Но я выбрал показать картину целиком - даже если неидеально.
Потому что доверие не в отдельных оптимизациях.
Оно - в системе, где каждый байт, каждый пиксель - часть диалога.
P.S.
ML-Cache = Multi-Level Caching System
ISPN = Интеллектуальная Система Предиктивной Навигации
LT, RT = Load and Reliability Testing (в статье было указано PT вместо RT - опечатка при форматировании)
data = в публикации data-src (data-source)
Пояснение терминов из публикации:
ML-Cache = Multi-Level Caching System - многоуровневая система кэширования - от байткода до пользовательского кэша
ISPN = Интеллектуальная Система Предиктивной Навигации - сбор и анализ поведения пользователей + предзагрузка страниц
PWA-Layer = архитектура изолированного прикладного слоя для нативного UX
OPS-UX = браузерная система автоматизации операторов поддержки - обновление, сохранение, семантика, форматирование, наблюдение за DOM
DialogCore = диалоговая система с ИИ и 500+ узлами - 500+ узлов, маршрутизация, ИИ, фильтрация переводов
AI-Оператор = живое UX-присутствие системы - визуальный, интерактивный, коммуникационный, защитный слои
UX-Vibe = визуальный язык интерфейса, создающий ощущение диалога - всё, что пользователь видит и чувствует, - часть разговора
LT, RT = Load and Reliability Testing (в публикации была опечатка: PT вместо RT)
data-src = атрибут для отложенной загрузки (JS-паттерн lazy; не трогать при рефакторинге)
Главный посыл:
Пользователь не доверяет скорости.
Он доверяет вниманию.
А внимание - в архитектуре.
Инженерия UX и производительности: от ядра к периферии