Нелинейный рост стоимости облуживания от сложности сайта

23.04.2020 0 Автор Phantom

Интересный пример из практики, которым хотелось бы поделиться. Дано: плагин для карт osm, к которому подкатило обновление, плагин для оптимизации autoptimize и внешний кеш через cdn cloudflare. Казалось бы, ну что может пойти не так?)))

Как оно работает и зачем это надо:

Накрутив много всякого на блоге я ВНЕЗАПНО обнаружил дичайшие тормоза. Непорядок. В качестве решения я взял плагин autoptimize, который умеет собирать все css и js в одну кучу, а также реализует механизм lazy load – так называемая “ленивая загрузка”, когда картинки подгружаются после рендера страницы, что в сумме даёт как физический, так и визуальный прирост скорости. Это не полноценный кеш, поэтому время загрузки хоть и сократилось, но недостаточно чтобы удовлетворить мои хотелки. Далее я воспользовался сервисом Cloudflare – помимо всякой защиты от ddos реализуется механизм внешнего кеширования, причём всё это ещё и раскидывается по датацентрам где-то там в разных концах нашей плоской Земли… Не сказать что летает, но вполне комфортно.

[свернуть]

Итак, прикатывает обновление плагина. Я честно обновляюсь (попутно ещё патчу под свои хотелки, но это отдельная история), проверяю – всё работает. Отлично? Не-а… Зайдя в следующий раз, я обнаруживаю что морду блога распидорасило! Дальше начинается весёлый квест, суть которого в нахождении проблемы, которая непонятно откуда взялась, ведь я же как умный человек всё проверил и всё работало! Ага, классическое “я ничего не делал, оно само!!!“.

Оказалось, что в плагине обновились версии библиотек, на что я не обратил внимания, ну кто в здравом уме вчитывается в release notes к каждому плагину? А эти самые библиотеки обязательно нужно добавить в исключения по оптимизации, потому что не хотят они работать будучи собранными в один файл. Далее всё это хозяйство через некоторое время перезакешировалось и полный трам-пам-пам.

Мораль: по возможности будьте проще! Три вполне ходовых технических решения в сумме могут потребовать для обслуживания не блондинку обученную постить фоточки, а красноглазого бородатого мальчика умеющего в консоль.

P.S. Этот пост не является инструкцией по оптимизации, на эту тему я накатаю отдельно и обширно, как только разберусь и оттестирую – там будет и по шрифтам и по внешним библиотекам и по картинкам…

Поделиться в: