Ускоряем Joomla: как активировать кэш и время SQL-запросов

В статье Обновление Joomla 1.5 до Joomla 2.5: как перенести данные, ничего не потеряв, мы представили ряд методологий, которые позволяют вам перейти с Joomla 1.5 на Joomla 2.5, не сталкиваясь с проблемами и не тратя слишком много времени на операции отладки и проверки. . . .

В случае с Joomla, как и с любой другой платформой для управления контентом (CMS, Content Management System), глава, посвященная оптимизации производительности, приобретает важное значение сама по себе.

Ускорение Joomla, особенно если вы имеете дело с веб-сайтом значительного размера, может быть весьма сложной процедурой. После правильной установки и настройки Joomla (в нашем случае мы сосредоточимся на Joomla 2.5) одним из действий, которое обычно дает наилучшие результаты, является включение механизма кэширования на стороне сервера.

Joomla 2.5 поддерживает использование консервативного кеша и прогрессивного кеша: в первом случае элементы, являющиеся объектом операции кэширования, находятся в более ограниченном количестве, в то время как при выборе прогрессивного кеша, который является гораздо более «агрессивным». , Joomla будет кэшировать все элементы, включая модули. Обычно использование прогрессивного кэша рекомендуется для небольших и средних веб-сайтов.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Активацию кеша можно запросить в административной панели Joomla 2.5.

Однако первый шаг, который нужно сделать, — это убедиться, щелкнув меню «Сайт», «Информация о системе», а затем «Разрешения для папки», что «папки кэша» указаны как «доступные для записи».

На этом этапе, щелкнув меню «Сайт», «Глобальная конфигурация», затем «Система», вы найдете — расположенные справа — настройки для настройки поведения кэша Joomla 2.5.

Числовое значение, которое можно ввести в поле Время кэширования, позволяет установить, сколько минут элемент должен оставаться в кэше.

Проверьте, насколько быстро (или медленно) выполняется установка Joomla 2.5.

Для проверки того, насколько быстро веб-сервер может сгенерировать веб-страницу любого компонента сайта Joomla 2.5, доступен удобный механизм. Достаточно еще на вкладке Система (меню Сайт, Глобальная конфигурация) панели управления Joomla нажать на опцию Да, соответствующую пункту Отладка системы:

Таким образом, в нижней части каждой веб-страницы Joomla будет вставлять ряд полезной информации для проверки поведения сайта.

Перед активацией режима «Отладка системы» мы рекомендуем вам защитить папку сервера, где установлена ​​Joomla, с помощью имени пользователя и пароля (используя .htaccess и, возможно, .htpasswd). Функция «Отладка системы» на самом деле раскрывает некоторую информацию, которую всегда было бы хорошо держать в секрете: SQL-запросы, вызываемые каждой страницей PHP, фактически отображаются в виде обычного текста вместе с запрошенными/введенными данными и именами MySQL. базы данных и таблицы.

Внизу каждой страницы Joomla 2.5 вы найдете окно консоли отладки Joomla. Нажав на информацию о профиле, вы можете проверить, сколько времени потребовалось для полной генерации PHP-страницы:

Последняя строка (afterRender) сообщает время в секундах, которое потребовалось PHP-скрипту для полного выполнения.

Чуть ниже в разделе База данных запросов содержится подробный список всех различных SQL-запросов, переданных из сценария PHP в базу данных MySQL.

Чего, к сожалению, не хватает, так это указания времени, затрачиваемого Joomla на выполнение каждого отдельного SQL-запроса, независимо от того, говорим ли мы о запросе данных (SELECT), вставке (INSERT INTO), обновлении записей (UPDATE) или отмене. (УДАЛИТЬ).

Чтобы восполнить этот недостаток, можно решить, изменив пару файлов PHP, которые составляют пакет Joomla 2.5. Есть два файла для редактирования:
библиотекиjoomlaбаза данныхбаза данныхmysqli.php
плагинысистемаотладкаdebug.php

ВАЖНО: Если вы используете MySQL вместо MySQLi, вам нужно будет изменить файл librariesjoomladatabasedatabasemysql.php вместо librariesjoomladatabasedatabasemysqli.php.

Строка 372 mysqli.php содержит оператор $ this-> log[] = $sql;.

Его следует заменить следующим кодом:

// Измеряем время выполнения запроса // $this->log[] = $ SQL; $t = микровремя (истина); // / Измеряем время выполнения запроса

Немного дальше, прямо перед строкой return $ this-> cursor; этот код необходимо ввести:

// Измеряем время выполнения запроса if ($this->debug) {$this->log[] = $ sql. ‘#### Time:’.(Microtime (true) — $t); } // / Измеряем время выполнения запроса

Вместо этого файл debug.php необходимо изменить, вставив сразу после строки 709 ($ sql = str_replace (‘*’, ‘ * ‘, $ sql);) , следующий код:

// Измеряем время выполнения запроса $ sql = str_replace (‘#### Time:’, ‘
Time:’, $ sql); // / Измеряем время выполнения запроса

При этом после сохранения и перезагрузки обоих файлов в правильных местах на сервере в разделе базы данных запросов для каждого SQL-запроса будет отображаться указание «Время»:

Таким образом, можно установить, какие запросы являются самыми медленными (время выражено в секундах), и понять, связана ли какая-либо медлительность загрузки одной или нескольких страниц сайта Joomla с используемым сервером MySQL.

Отладка SQL-запросов очень помогает понять, насколько эффективен сервер MySQL, особенно если он не находится на той же машине, где была установлена ​​Joomla 2.5.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *