Уменьшение нагрузки на сервер

 

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

Сразу предупреждаю, что я не гуру в SMF, хотя и использую этот движок более двух лет, администрированием серверов и программированием тоже не занимаюсь. Если в каких-то моментах будут неточности - поправляйте. Информация это во первых, перевод статьи с simplemachines.org а также, информация из разных тем данного сайта + личный опыт. Стараюсь писать в стиле "для новичков", чтобы всем было понятно.


Скорость и нагрузка на сервер.
Первое, что следует понимать, это то, что скорость загрузки страниц форума, и нагрузка на сервер, это не всегда одно и то же. В некоторых случаях это даже противоположные факторы.

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

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

Второе что следует понимать, это то, что очень многое зависит от вашего хостинга. Если хостинг хороший, то практически при любых настройках форума, и большой посещаемости (от 500-700 и более человек в день), страницы открываются быстро (не более 0,2-0,3с), и вас при этом не обвиняют в превышении нагрузки.
Но к сожалению, нормального российского хостинга по адекватным ценам лично я пока не нашел, и даже при должных настройках часто все работает не так как хотелось бы. И чтобы в условиях кривоватого хостинга все работало хоть как-то нормально, как раз приведенная ниже информация и нужна.


Способы увеличить скорость работы

Основы основ: меньше данных > выше скорость. Меньше запросов (к скриптам, к БД) > выше скорость.

самое основное:

1. Не отображать название хостов пользователей

Суть: запрос хоста пользователя через DNS.

Что делать: желательно отключить.
Идем в Характеристики и настройки > Настройки отображения > Не отображать название хостов пользователей?
и ставим там галочку (настройка отключена).

2. Использование для аватаров отдельной папки

Суть: по умолчанию, загрузка каждого аватара идет через запрос к index.php. При большом количестве аватаров это и снижает скорость, и повышает нагрузку на сервер.

Что делать:
а) создать на новую папку на сервере под аватары. Например, avs. Поставить у нее права доступа такие же, как у attachments.

б) Вложения и аватары > Свойства аватаров > Загруженные аватары
Там меняем "Загрузить аватары в:" на "другую папку", и прописываем в "Папка загрузки:" и "Адрес(URL) загрузки:" пути нашей новой папки по аналогии, как это указано в пункте "Аватары расположенные на сервере" (только заменяем avatars на avs)

После этих действий все новый аватары вызываются напрямую как картинка (сайт.ру/avs/аватар.жпг)

Подробная инструкция, и что делать со старыми аватарами.

3. Использовать сжатие трафика

Суть: уменьшает объем передаваемых данных и как следствие увеличивает скорость.

Примечание: Эта опция "о двух концах". При сжатии данных возрастает нагрузка на сервер. И если сервер и без того перегружен, то это в некоторых случаях может замедлить работу. Но чаще всего, эта настройка полезна для скорости. Вобщем, проверить можно только опытным путем.

Где: Настройки сервера > Другие настройки > Использовать сжатие трафика

4. Отключить последние сообщения на главной странице.
Текущая тема оформления > Количество отображаемых последних сообщений на главной странице форума = 0
* у себя эту опцию не отключал, так как нахожу это неудобным

5. Моды
Они бывают самые разные. Как безобидные, так и жестко нагибающие форум.
Тот же очень популярный Ad Management - это и дополнительные скрипты, и запросы к БД. При большом количестве используемых блоков, число запросов к БД может вырастать на 8-10. И в случае, если у вашего хостера не очень быстрый сервер MySQL, то это может существенно замедлять работу форума.

Вобщем, старайтесь использовать только те моды, которые вам действительно нужны. Мало полезные  отключайте и удаляйте. Анализируйте, как работает каждый мод, имейте в виду, что много скриптов и лишние запросы к БД > снижение скорости.

То же самое относится и к порталам - Tiny Portal, Simple Portal и т.д.

 

6. Внешние включения
Под этим подразумевается все, что грузится не с вашего сайта. Это может быть:
- реклама. Баннеры, контекст (ЯД, Адсенс, Бегун и т.д.)
- картинки. В том числе, всяческие юзербары.
- счетчики.

Каждое из внешних включений, испытывающее проблемы с загрузкой, замедляет загрузку страницы форума в целом. Личный опыт:

Случай1. Страницы сайта открывались секунд по 30. Причина была сразу определена, так как в статусе браузера было видно, что не грузится. Оказалось, это были проблемы у Яндекс-Директа. Пришлось на пару часов убрать рекламу с сайтов.

Случай 2. Все страницы открываются нормально, а одна 5-8 секунд. Оказалось, у одного пользователя на этой странице стоял юзербар, из-за которого тормозила вся страница.
Удалил юзербар у пользователя. Запретил отображение подписи пользователей для гостей

 

 

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



Уменьшение нагрузки на сервер - Генератор расширений Joomla и многое другое на нашем сайте посвященном работе расширений, компонентов, модулей, плагинов для линейки Joomla. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.

Блог

Календарь приёма объявлений

Небольшой пример из повседневной практики. Организация меняет реквизиты, и они вступят в силу через  пару недель. На сайте идет приём объявлений и объявления принимаются на несколько месяцев в...

Дырка в com_content

Сегодня у товарища, сайт которого находится на старой  Joomla 1.0.3, была сильная нагрузка на сервере, просматривая логи обнаружил не вежливый запрос такого порядка: http://сайт/index2...

Лечим вирус на сайте

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

Troj/JSRedir-MH

Снова грянул гром зарежения сайтов новым вирусом  Troj/JSRedir-MH.  И так в коротко по вирусу Troj/JSRedir-MH. Вирус или троян куда интереснее чем свои предшествиники, тепер...

Доработка расширения для рассылки Send Email JK

Сегодня поделюсь немного интересной информацией для владельцев сайтов собранных ан joomla.  Рано и поздно возникает задача подписки и рассылки информации с сайта, это может быть разная постановка зада...

Привет Ie 10 регулярка

И вот и мне пришлось столкнулся с проблемами перехода на win 8 в придачу с ie 10, некоторых постоянных пользователей моих сайтов. На многих сайтах  имеющих раздел по приёму объявлений, использ...

Kunena заменяем ссылку на профиль пользователя

Всем привет, снова снова кунена, получил задание на допиливание популярного форума Kunena, сегодня потребовалось поменять ссылку на профиль пользователя. Это связано с тем, что на сайте стоит социа...

Работает на Kunena - зачем на каждой странице?

  Все у кого стоит форум kunena мешает надпись с двумя ссылкам внизу форума "Работает на Kunena". Сея надпись висит на каждой странице форма, а также страница разработчиков содержит множество вн...

Kunena избавимся от лишних quote

Для тех кто действительно делает сайт для людей, моя следующая заметка. Расскажу вам, как избавиться от лишних quote в постах на форуме kunena. У меня несколько тематических сайтов с нормальной посеща...

Kunena решаем проблему с пропажей аватаров

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

Джомлавикам

Обработка параметров расширений joomla

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

Кunena крамсаем шаблон

1. В папке \components\com_kunena\template\ваш_шаблон\ находим файл template.xml и вставляем в него такой кусок (чтобы была возможность выбора показывать это поле или нет): <param name="l...

Подключить свои классы и методы в Joomla?

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

3 новых полезных класса в Joomla 2.5

В платформе Joomla 11.3 разработчики добавлил несколько полезных новых классов для разработчиков. Рассмотрю некоторый из них - JGrid (для построения HTML таблиц), JWebClient (для получения информац...

Репозиторий файлов на Joomla средствами Apache

Создадим две вложенные директории /files/files в корне сайта. Если вы пожелаете использовать другие имена директорий, то вам необходимо будет внести соответствующие правки в дальнейшем. ...