Joomla! Снижаем нагрузки на сервер

Posted on Четверг, Апрель 29th, 2010 at 11:41 дп

Итак, ваш сайт на Joomla достиг определенной популярности и начал оказывать недопустимые нагрузки на сервер хостера (в моем случае после 2300 уникальных посетителей в сутки, для других пользователей Joomla и для различных условий хостинга проблемы с нагрузкой могут начаться уже от 300 уникальных посетителей в сутки!) – здесь и далее рассматривается виртуальный хостинг. Рассмотрим возможные приемы, благодаря которым можно снизить нежелательные нагрузки из условий, что менять настройки php, mysql на виртуальном хостинге невозможно.

НАГРУЗКИ ОТ ПОИСКОВЫХ РОБОТОВ

При плотной посещаемости сайта критичные нагрузки на сервер вашего хостера может оказать очередное посещение вашего портала роботом поисковой системы. Выполните следующее:

1. Убедитесь, что в файле robots.txt в корне вашего сайта содержатся следующие данные:

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /editor/
Disallow: /help/
Disallow: /images/
Disallow: /includes/
Disallow: /language/
Disallow: /mambots/
Disallow: /media/
Disallow: /modules/
Disallow: /templates/
Disallow: /installation/
Disallow: /index2.php
Disallow: /component/option,com_bookmarks/
Disallow: /index.php?option=com_search
User-agent: Yandex
Crawl-delay: 2 # таймаут для робота Yandex в 2 секунды
User-agent: Slurp
Crawl-delay: 2 # таймаут для робота Yahoo в 2 секунды

Подробнее о директиве

Crawl-delay

читайте по ссылкам: Директива Crawl-delay для Yandex, Директива Crawl-delay для Yahoo. Остальные строки приведенного выше содержимого файла robots.txt просто запрещают индексацию указанных разделов сайта (обратите внимание, в условиях критических нагрузок на сервер даже раздел images имеет смысл закрыть от индексации).

ОПТИМИЗАЦИЯ КОМПОНЕНТОВ

1. Внимательно присмотритесь к набору плагинов, компонентов и модулей в вашей системе. Удалите все ненужные или малоиспользуемые компоненты. Проверьте наличие обновлений для оставшихся компонентов и если есть более стабильные версии, обновитесь.

2. Выполните оптимизацию всех графических файлов. Сжимайте css и javascript. Для сжатия javascript можете воспользоваться онлайн сервисом Javascript Compressor. Обязательно воспользуйтесь сервисом Web Page Analyzer, этот инструмент тщательно проанализирует указанную страницу вашего сайта, предложит массу информации по оптимизации и снижению нагрузки на сервер. Для css, в большинстве случаев, будут предложены их сжатые версии.

3. Объедините css файлы, а если есть возможность включите css в основной index.php вместо загрузки стилей как внешних файлов.

4. Не используйте сторонние SEF компоненты для преобразования ссылок (Artio Joom SEF,  OpenSEF и пр.). Если вам действительно необходимы «красивые» ссылки, используйте стандартные средства Joomla.

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

КЭШИРОВАНИЕ

Сложно переоценить возможности кэширования данных. Непременно включите встроенную поддержку кэширования в Joomla (Настройки > Система > Установки кэша). Параметр «Время кэширования» устанавливает время жизни кэша в минутах. Устанавливайте значение этого параметра согласно вашей активности в плане добавления новых статей на сайт. Так, если вы добавляется по статье раз в сутки, то этот параметр имеет смысл установить в значение 1440 (24 часа). Я этот параметр установил в значение 999999, т.к. очистку кэша выполняю вручную после добавления статей, сами статьи стараюсь добавлять в часы дня, когда количество посетителей наименьшее.

2. Поставьте компонент JRE CACHE, который позволяет осуществить тонкие настройки кэширования, очень функционален.

ПОЛЕЗНЫЕ ДЛЯ ОПТИМИЗАЦИИ КОМПОНЕНТЫ

1. Как уже было описано выше, рекомендуется установить компонент JRE CACHE для кэширования данных.

2. Поставьте и попробуйте исследовать эффективность настроек компонента Web Optimizer для Joomla. Этот компонент также имеет возможности кэширования данных, а также массу других полезных лдя оптимизации сайта функций.

ОПТИМИЗАЦИЯ БАЗЫ ДАННЫХ

Нагрузки на базу данных отдельная тема для разговора, но как наиболее простой и доступный способ оптимизации вы можете выполнить команды repair и optimize из интерфейса PhpMyAdmin для базы данных Joomla.

You can leave a response, or trackback from your own site.

Leave a Reply

CAPTCHA image