• Главная
  • Карта сайта
Не найдено

Drupal 101: базовая оптимизация сайта

  1. Общие хорошие практики
  2. Основные модули, чтобы избежать

Это было статистически доказано что никому не нравится медленный сайт. Мы все перешли в те дни, когда вы терпеливо ждали, пока страница загрузится через этот прекрасный модем. В настоящее время люди хотят, чтобы их симпатичный контент, и они хотят, чтобы он загружался мгновенно (или максимум на 2 мигания).

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

Ваше новое любимое слово на сегодня - кеш. Чтобы пользователи могли видеть одну из ваших страниц в своих браузерах, браузер должен запросить об этом сервер, на котором размещен ваш веб-сайт. Кэширование просто говорит браузеру некоторое время держать их копию своего ресурса вместо того, чтобы запрашивать его каждый раз, когда это требуется. Загрузка из кеша не требует запроса к серверу. Меньше запросов к серверу означает более быструю загрузку страницы.

Существует множество инструментов и контрольных списков, которые могут указать вам правильное направление, когда речь заходит об оптимизации вашего сайта Drupal. Тим Милвуд статья о Лучшие 15 советов по производительности Drupal хороший Я следил за большинством из них, чтобы оптимизировать свои сайты, но всегда задавался вопросом, как эти действия действительно работают. Итак, руководство новичка по оптимизации сайтов на Drupal.

Общие хорошие практики

  • Держите ядро ​​и модули в актуальном состоянии
    • Хотя это кажется легким делом, я также понимаю, что иногда обновление модуля может случайно что-то сломать (поверьте мне, я был там). Мой совет? Всегда проверяйте свою локальную среду разработки перед развертыванием.
  • Всегда отключайте и удаляйте модули перед их удалением

Это доступно "из коробки" с любой установкой Drupal. Зайдите в admin / config / development / performance и вы увидите эти опции.

  • Кэширование страниц для анонимных пользователей
    • Когда анонимный пользователь посещает сайт, сгенерированный HTML-код будет сохранен в таблице кеша базы данных Drupal.
    • Эти данные будут отображаться всем другим анонимным пользователям.
    • Кэши страниц не будут очищены, если вы так не скажете.
    • Это переопределит любые настройки кеша блоков для анонимных пользователей, что приведет нас к следующему пункту.
  • Блоки кеша
    • Поведение блоков по умолчанию в Drupal - это не кеширование, поэтому его включение будет кешировать блоки как для аутентифицированных, так и для анонимных пользователей.
    • Если кеширование блоков включено без включения кеширования страниц, то будут использоваться настройки кеширования блоков.
    • Учитывая, что по умолчанию нет, вы можете использовать Блок кэша Alter модуль, чтобы изменить это на что-то более разумное.

Примечание к раскрытию информации: мне было трудно найти документацию о том, как именно работает блочное кэширование в Drupal 7, поэтому, пожалуйста, дайте мне знать, если я ошибаюсь

  • Минимальное время жизни кеша
    • Это значение применяется ко всем кэшированным объектам.
    • Он говорит системе показывать кэшированный контент в течение указанного промежутка времени.
    • Если это значение равно десяти минутам, новый контент, который вы создаете на своем сайте, появится только через десять минут.
    • Для появления нового контента должно пройти заданное время и должна быть запущена функция очистки кэша.
    • Если трафик на вашем сайте не высокий, лучше оставить его как никто.
  • Истечение срока действия кэшированных страниц
    • Это устанавливает заголовок Cache Control на public, а максимальное значение возраста в заголовке - на значение, выбранное в раскрывающемся списке.
    • Этот заголовок сообщит системе кэширования, чтобы она обслуживала свои копии страниц до максимального срока хранения, после чего система кэширования проверит сервер, чтобы узнать, изменилось ли что-нибудь.
  • Объединять и сжимать файлы CSS
    • На рабочем сайте Drupal имеется множество CSS-файлов, будь то из тем, из модулей и т. Д., И эта опция объединяет их все в один файл с удаленными пробелами.
    • Помните пример общего магазина? Один запрос быстрее, чем много запросов.
    • Следует отметить, что если ваш CSS содержит абсолютные URL-адреса, это может привести к поломке вашего сайта, так как URL-адрес не будет правильно обрабатываться в объединенном файле. Используйте относительные URL, чтобы быть в безопасности.
  • Агрегировать файлы Javascript
    • Подобно агрегации для CSS, эта опция объединяет все файлы Javascript из вашей темы и модулей, опять же, чтобы уменьшить количество запросов к серверу.

Обычно лучше просто проверить все здесь.

Основные модули, чтобы избежать

  • Ведение журнала базы данных (dblog)
    • DBlog будет записывать все сообщения журнала в базу данных. Ключевое слово здесь все. Сообщения об ошибках пишите. Отладка информации, пиши. Модуль генерирует сообщения журнала, пишите. Вы получаете картину.
    • Это приводит к большому количеству записей в базе данных каждый раз, когда страница загружается. Чем занятее база данных, тем медленнее будет ваш сайт.
    • Этот модуль включен по умолчанию для Drupal 7. Отключите его и используйте вместо этого syslog.
  • Статистика (статистика)
    • Этот модуль отслеживает статистику сайта по просмотрам и использованию сайта.
    • К сожалению, он записывает всю эту статистику в базу данных, и, опять-таки, это приводит к снижению производительности.
    • Даже мистер Милвуд (упомянутый в самом начале этого поста), сопровождающий этот модуль, предлагает вместо этого использовать Google Analytics.
    • Этот модуль НЕ включен по умолчанию, и поэтому просто оставьте его.
  • PHP фильтр (php)
    • Хотя могут быть определенные случаи, когда вам нужно иметь PHP-код в вашем контенте, большую часть времени (если не все) вы можете поместить этот код в пользовательский модуль.
    • Внедрение кода PHP в ваш контент означает, что он должен быть извлечен из базы данных, прежде чем он может быть выполнен, поэтому имеет смысл обойти этот шаг, записав этот код в пользовательский модуль.
    • У вашей базы данных есть дела поважнее, чем извлечение кода PHP для выполнения.

Это касается всех низко висящих фруктов для улучшения производительности вашего сайта. Определенно можно сделать гораздо больше, но даже если вы остановитесь здесь, вы уже сможете увидеть улучшения производительности.

Мой совет?
Помните пример общего магазина?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью