Будущее интернета — в персонализации. Веб-сайты всегда будут содержать множество статичных блоков, будь то изображения, видео/аудио, CSS или JS, многие из которых могут быть занесены в кэш браузера, но проблемой остаётся генерация HTML по конкретному запросу. А потому встаёт вопрос: каким образом мы можем быстро создать HTML, необходимый определенному пользователю? Нам уже известны все лучшие средства на уровне сервера, приложения и браузера для создания оптимального пользовательского взаимодействия, однако большинство из подобных инструментов и практик ориентированы на работу со статичным HTML-контентом.
На этот случай существуют разнообразные техники, вроде использования разметки Edge Side Includes (ESI), применения AJAX для динамической замены элементов и подобные им, однако все эти решения работают как надстройки и не всегда решают ключевые проблемы, лишь загромождая приложение. Основное внимание сегодня я уделю работе с WordPress CMS, однако приведенные концепты могут быть использованы для любого приложения, делающего упор на персонализацию, будь то электронный магазин или просто сайт, требующий сокращения времени загрузки. Три приведенные ниже техники являются частью концепции, которую я называю «оптимизация кэширования».
Создание файлов кэша для элементов макета или компонентов дизайна, таких как панели меню, заголовки, футеры, блоки контента и прочих может значительно снизить время загрузки страницы. Эти фрагменты могут быть реальными кусками кода или просто частями страницы, обычно создающими основную нагрузку. Блоки представляют собой более крупные участки визуализированного HTML, которые, будучи объединенными с фрагментами, либо упрощают манипулирование ими с помощью CMS, либо снижают время операций сервера с контентом в случае, если ваша CDN поддерживает ESI.
Объектный кэш в WordPress является ресурсом высшего уровня, используемым для визуализации финальной HTML-страницы. Перемещения этого кэша в постоянное хранилище обычно приводит к существенному росту производительности и скорости генерирования динамических страниц при снижении общего числа запросов к базе данных, необходимых для визуализации. Кэширование этого уровня дополняет работу с блоками и фрагментами, так как последние основаны на объектах, которые WordPress создает для визуализации HTML.
Ресурс низшего уровня, кэш базы данных, в приложениях обычно подразумевает, что данные, как правило, находящиеся в MySQL (к примеру) требуют кэширования (если это возможно) или непосредственного извлечения из таблиц базы данных. Некоторые из запросов к базе данных просто не могут быть оптимизированы для быстрых обращений, примером подобного служит поиск по сайту. Поскольку такой поиск определенно является случаем «персонализации», остается лишь:
Кэширование базы данных может оказаться непростым делом, по причине того, что жизненный цикл кэша должен оставаться кратким; впрочем, использование кэша позволяет сфокусировать работу вашей базы данных на сложных запросах.
Помимо этих, есть еще несколько идей/техник высокого уровня, способных помочь вам оптимизировать персонализированный или высокоинтерактивный сайт на работу с кэшем. Будущее оптимизации веб-производительности заключено в производительном персонализированном пользовательском взаимодействии.
Фредерик Таунс был основателем и техническим директором Mashable,одного из крупнейших в мире независимых медиа-сайтов и в настоящий момент состоит при компании в должности старшего технического консультанта. Как специалист по поисковому/соцмедиа маркетингу и консультант WordPress, Фредерик часто использует WordPress в качестве стержневого элемента своих проектов. Одним из наиболее значимых его вкладов в развитие сообщества WordPress стала его платформа оптимизации интернет- производительности W3 Total Cache. С 2003 года его агентство W3 EDGE помогало развиваться таким известным организациям, как: ASOS, Adorama, AIGA, Brian Solis, Center for Disease Control, Constant Contact, CVS Pharmacy, Envato, Hyatt, Jonathan Snook, Kodak, Lord & Taylor, Mashable, Microsoft, Neil Patel, Pearsonified, R.E.I., Sanyo, Sherwin Williams, Smashing Magazine, Southwest Airlines, Staples, Sony, Weight Watchers, Yahoo, Yoast и многим другим. Он также является известным интернет-предпринимателем и технологом. Его недавний проект, W3 MARKUP, запущенный в 2007 году был перекуплен спустя всего 11 месяцев после старта, и с 2008 года базируется во Флоренции, Италия. Фредерик большую часть времени проводит в Бостоне, где он трудится над своим новым проектом Placester, одни из совладельцев которого он является.
Оригинал: http://www.speedawarenessmonth.com/optimizing-for-the-cache-miss/
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.