Уменьшение нагрузки на сервер
В разных темах имеется множество советов по данному вопросу, но единой сводной темы не нашел. Считаю, это было бы полезно, так как скорость работы форума важна как для пользователей, так уже и для поисковиков. Вобщем, пытаюсь восполнить этот пробел.
Сразу предупреждаю, что я не гуру в 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. Отправляйте ссылку на страницу своим друзьям и в социальные сети воспользовавшись графическими иконками выше.