Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ромашов Виктор - CMS Drupal: система управления...rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.14 Mб
Скачать

Настройка производительности

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

На самом деле главный способ повышения производительности не зависит от систем управления и представляет собой снижение размера страниц сайта. Сейчас в Сети можно найти сайты, которые практически не содержат никакой полезной информации, и при этом каждая их страница «весит» по 150–300 Кбайт. Это безумно много. Всегда следует стремиться хотя бы к тому, чтобы размер каждой страницы сайта не превышал 30–40 Кбайт, а точнее, чтобы размер неинформативной части сайта (код, не содержащий информации, например разметка страницы) составлял не более 5‑15 Кбайт.

К сожалению, такая оптимизация сайтов, построенных на основе CMS, невозможна. Ведь фактически вы не создаете сайт, а только наполняете его полезной информацией.

Кэш страницы

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

Все страницы вашего сайта, созданные с помощью PHP или Perl (это относится и к страницам CMS Drupal), представляют собой некий набор инструкций, на основе которых создается HTML‑страница. Другими словами, когда посетитель пытается открыть страницу вашего сайта, интерпретатор PHP выполняет код, записанный в ней, и в результате его работы получается уже готовая HTML‑страница. Эта страница и отправляется посетителю.

Так вот, если анонимный посетитель в первый раз пытается открыть страницу вашего сайта, то все идет как обычно – интерпретатор PHP создает HTML‑вариант страницы и она отправляется посетителю. Однако если механизм кэширования страниц включен, то созданная HTML‑страница помещается в специальный кэш. В дальнейшем если анонимный посетитель (неважно, тот же это посетитель или совершенно другой) опять попытается открыть сгенерированную ранее страницу вашего сайта, то CMS Drupal отправит ему HTML‑версию страницы, созданную ранее, вместо того чтобы заново создавать ее с помощью интерпретатора PHP.

Примечание

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

Если немного поразмышлять, то становится понятно, что механизм кэширования страниц полезен для всех сайтов, содержимое которых не очень часто изменяется. Например, если какая‑то часть страницы вашего сайта постоянно меняется (как может быть в некоторых «неудачно» разработанных чатах), то механизм кэширования страниц будет вреден. Ведь зашедший к вам пользователь может увидеть либо совсем старую информацию, либо лишь часть информации, доступной на момент помещения страницы в кэш.

По умолчанию механизм кэширования страниц отключен, поэтому желательно сразу же после установки CMS Drupal включить данную возможность. Для этого предназначен переключатель Режим кэширования, расположенный в разделе Управление → Настройка сайта → Производительность. Он может быть установлен в одно из следующих положений: Выкл., Нормальный (рекомендуемый, не дает побочных эффектов) и Агрессивный (только для профессионалов, возможны побочные эффекты).

Практически для любого сайта оптимальным будет использование нормального режима кэширования. Включать агрессивный режим для постоянного использования можно только после длительного тестирования поведения вашего сайта в таком режиме. Кроме того, агрессивный режим кэширования не всегда можно включить, так как работающие у вас модули могут его не поддерживать. Например, среди стандартных модулей CMS Drupal агрессивный режим не поддерживают модули Statistics и Throttle.

После включения режима кэширования также обратите внимание на раскрывающийся список Минимальное время жизни кэша. Он позволяет указать промежуток времени, по истечении которого кэш будет очищаться от сгенерированных HTML‑страниц. Выбирать значение данного параметра следует на основе частоты изменения страниц сайта. Если на вашем сайте что‑то новое появляется примерно один раз в час, то и минимальное время жизни кэша лучше указать не более одного часа (а лучше всего указывать минимальное время жизни кэша в 1,5–2 раза меньше, то есть 30–45 минут).

В шестой версии CMS Drupal доступна еще одна настройка – переключатель Компрессия страниц. Он позволяет включить или отключить механизм автоматического сжатия страниц, помещаемых в кэш. Включение компрессии приводит не только к уменьшению занимаемого кэшем места, но и к снижению расходов на передачу страницы, ведь она так и передается клиенту сжатой. По этой причине отключать компрессию страниц (по умолчанию она включена) имеет смысл только в том случае, если используемый вами веб‑сервер самостоятельно выполняет сжатие страниц.

Еще одна новая настройка шестой версии CMS Drupal – переключатель кэш‑блоков. Он позволяет включить или отключить возможность кэширования отдельных блоков, из которых состоит ваша страница. Вкратце о блоках мы уже рассказывали при рассмотрении тем оформления, поэтому вы должны понимать, о чем идет речь. Кэширование отдельных блоков позволяет еще больше повысить производительность вашего сайта. Особенно это относится к зарегистрированным пользователям, ведь на них механизм кэширования всей страницы распространяется мало, тогда как кэширование отдельных блоков работает полностью.

Кроме того, в шестой версии CMS добавлена кнопка Очистить кэш данных (в том же разделе, что и описанные выше настройки). С ее помощью вы всегда сможете вручную очистить кэш. Это может понадобиться, если вы изменили JS– или CSS‑файлы либо файл template.php или если появились проблемы с правами доступа.