Каковы лучшие практики использования плагина кэширования на общем хосте?


29

Я запустил довольно большой сайт на днях, и я хотел бы включить плагин кэширования. Установка выполняется на одном сайте с некоторыми функциями Buddypress, смешанными (для регистрации пользователя, карты с gpress, наличие профиля), запущенными на общем хосте.

Мои вопросы:
1. Какой плагин вы считаете лучшим для кэширования при данной настройке и почему (если это возможно)?
2. Какие рекомендации и шаги я должен предпринять / рассмотреть во время установки, чтобы убедиться, что все работает?
3. transientsМогу ли я использовать то, что я сам добавил, или я должен удалить их и оставить плагин делать свое дело? будут ли они конфликтовать, если не будут удалены?

Благодарность!

ДОПОЛНЕНИЕ: план «Power» на http://www.inmotionhosting.com/hostingplans.html


Можете ли вы предоставить данные о сервере или хостинге?
Chris_O

Ответы:


24

В планах общего хостинга ваши возможности кэширования ограничены.

Вы сможете только статически кэшировать вывод html со своих страниц. Это самый быстрый способ обслуживания страниц, но вы теряете динамические аспекты WordPress, такие как комментирование и просмотр последних комментариев к сообщениям.

Для объектов и базы данных доступны опции кэширования диска, но если на вашем хосте не установлены быстрые диски, вы не получите от этого большого выигрыша, что также может привести к падению производительности.

Все плагины для кэширования имеют возможность не обслуживать кэшированные страницы для зарегистрированных пользователей или любого пользователя с файлом cookie комментариев.

Зарегистрированные пользователи + известные пользователи = нет кеша

Неизвестным пользователям обслуживается кэшированная страница.

Перепады

Переходные процессы - это небольшие фрагменты данных, срок действия которых истекает. WordPress хранит переходные процессы в виде кэша в базе данных. Если бы у вас была возможность использовать Memcache, WordPress сохранял бы временные данные в памяти. Переходные процессы хороши тем, что сокращают количество обращений к базе данных. Они также хороши для использования в социальных сетях, таких как показ ваших последних твитов. Это предотвращает звонки в твиттер API при каждой загрузке страницы.

Плагин, который использует лучшие практики высокопроизводительных веб-сайтов, является W3 Total Cache.

W3 Total Cache делает больше, чем просто кеш

W3 Total делает:

  • кэширование страниц
  • кеширование объектов
  • кеширование базы данных
  • преуменьшать
  • кеширование в браузере
  • Интеграция CDN

Для вашего общего хостинга вы должны включить кеширование страниц, минимизацию, кеш браузера и самодостаточный вариант CDN.

Настройки кэша страниц

Проверьте все параметры для кэша страниц

альтернативный текст

Предварительная загрузка кэша

Включите это и установите интервал обновления на то, что когда-либо подходит для вашего сайта. Это восстановит кэш страницы через заданный интервал.

альтернативный текст

Минимизировать настройки

Выберите «Переписать структуру URL», и если вы собираетесь использовать CDN, проверьте автоматическую загрузку, чтобы вновь минимизированные файлы автоматически загружались в CDN.

альтернативный текст

Сократить HTML

Включите и проверьте удаление разрывов строк, встроенных js и css minification. Если вы используете AdSense или другую службу, которая использует основы комментариев, введите их здесь, чтобы избежать их минимизации.

альтернативный текст

CSS и JS минимизируют настройки

В управлении файлами выберите свою тему и добавьте любые CSS-файлы, которые вы хотите объединить и минимизировать. Существует также мастер справки, который найдет все ваши шаблоны и добавит предложенные файлы для вас.

Использование мастера справки

W3 Total включает в себя инструмент, который просматривает шаблоны тем и находит используемые Javascript и CSS-файлы и предоставляет рекомендуемые настройки. Сначала попробуйте эти настройки и возникшие проблемы, вернитесь и измените при необходимости. Любые файлы, выделенные красным, являются файлами, которые вы уже включили для минимизации.

Этот же раздел параметров доступен для файлов js, и вы можете разместить файлы после <head>, после <body>и до </body>. Лучше всего поставить столько, сколько сможешь раньше <body>. Если какие-либо плагины добавляют встроенные js, вы не сможете использовать их ранее </body>для jquery или плагинов js, потому что их нужно будет загружать перед любыми встроенными <script>тегами. Вы можете включить любые комбинации файлов в каждом месте и для каждого шаблона. Например, вы можете настроить свой comment-reply.js так, чтобы он загружался только на single.php

альтернативный текст

Настройки кеша браузера

Это самый важный, чтобы получить право. Если вы правильно кешируете свой статический контент в своих пользовательских браузерах, вы можете значительно сократить время загрузки страницы. «Не обрабатывать ошибки 404 для статических объектов» Настройки кэша браузера - это большая победа для общего хостинга, потому что запуск PHP и возврат 404 страниц в боты и т. д. - это большой расход ресурсов, и эта функция предотвращает

генеральный

Проверить все

альтернативный текст

CSS и JS файлы

Проверьте все и установите срок действия нашего заголовка expires на далекое будущее. 31536000 секунд - 1 год, и то, что рекомендует yslow. Если вы вносите изменения в ваш CSS или JavaScript, вы должны изменить имена файлов, чтобы пользователи не могли использовать старую версию. Если вы используете minify, вам не придется беспокоиться об обслуживании устаревшего контента, потому что каждый раз, когда минимизируется кеш, генерируется новое имя файла.

Установите вашу политику управления кешем для кеширования с максимальным возрастом

альтернативный текст

Есть еще два раздела настройки кэша браузера. HTMl и изображения. Для изображений используйте те же настройки, что и CSS и JS. Вы можете увеличить время истечения на изображениях, если хотите.

Для HTML не устанавливайте срок действия, если ваш сайт в основном не статичен. Вы можете использовать короткие жизни, если хотите (180 секунд), но я бы не пошел выше. Включите gzip, и вы можете проверить установленные заголовки W3, чтобы проверить заголовки ответов, чтобы убедиться, что они работают.

альтернативный текст

Настройки CDN

W3 Total имеет встроенную поддержку популярных CDN для извлечения и получения исходных текстов, а также надежную опцию самостоятельного размещения, которая требует настройки поддоменов и имен.

Самостоятельно размещенный CDN позволит вам воспользоваться преимуществами конвейерной обработки. Браузер может загружать только несколько файлов одновременно, в некоторых случаях только 4. Конвейерная обработка - это метод, при котором псевдонимы (например, субдомены) вашего сервера используются для того, чтобы позволить вашему браузеру увеличить практический лимит файлов, которые можно загружать параллельно. Это максимально увеличивает пропускную способность вашего интернет-соединения и позволяет браузеру рендерить страницу быстрее. W3TC заботится об прозрачном управлении этими файлами после правильной настройки DNS CNAME (псевдонимов) и поддоменов.

Проверьте все параметры, затем нажмите кнопки загрузки, чтобы загрузить весь контент в CDN. Если вы используете self hosted, есть другая страница настроек для добавления информации о ftp. Для источника push CDN он настраивается в зависимости от того, какого провайдера вы используете. Для получения исходной информации вы не загружаете никаких файлов, а устанавливаете только свое имя в URL-адресе, предоставленном провайдером. Примечание. Не выбирайте принудительное переопределение, если новые файлы не работают. Принудительное переопределение будет постоянно загружать файлы в CDN, даже если они уже существуют, и это тратит пропускную способность и ресурсы.

альтернативный текст

тестирование

Вы должны всегда проверять свои результаты и соответственно настраивать свои настройки. Мне нравится использовать WebPageTest.org . Сравнить мои результаты и выявить возможные проблемы.

Насколько вы можете увеличить свою производительность, используя W3 Total Cache на WordPress с общим хостингом?

Это результаты до и после для блога WordPress, к которым мы добавили W3 Total.

До:

альтернативный текст

После

альтернативный текст

Надеюсь, это поможет.


1
спасибо, очень подробный и обстоятельный ответ! Вы абсолютно рекомендуете этот плагин? ты пробовал что-нибудь другое?
Амит

1
@Amit Я пробовал WP Super Cache, кеш Hyber DB, бэкэнд кеша объектов apc и batcache. Ни один другой плагин кэширования не обладает всеми этими функциями.
Chris_O

еще раз спасибо! Я обязательно попробую. Кстати, вы рекомендуете удалить весь мой временный код и все, что я добавил в свой htaccess, например, gzip и т. д.?
Амит

Лучше всего протестировать и сравнить различные настройки, чтобы найти то, что лучше всего подходит для вашей среды.
Chris_O

0

Используйте .htaccess для кэширования таких вещей, как CSS, изображения и JavaScript на стороне клиента. Самая быстрая загрузка - та, которой никогда не должно было случиться.

Я разместил коллекцию ссылок и справочных статей на эту тему: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/


0

Не используйте W3 Total Cache, это замедлит и сломает ваши страницы. Я предлагаю лучше использовать Super Cache и Page Speed ​​Ninja. Или LiteSpeed ​​Cache для кэширования объектов и оптимизации css и js, Cache Enabler для создания статических html-файлов. Поскольку статический кеш не будет создан litespeed, так как он должен иметь модуль lscache на http-сервере, и это поддерживается только http-сервером litespeed или openlitespeed.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.