Превышение лимита нагрузки на процессор хостинг-сервера
Этот материал хотелось бы целиком посвятить проблеме нагрузки на сайт. Именно она может омрачить развитие вашего проекта, так как будет постоянно напоминать о себе ограничениями со стороны хостинг провайдера. Если подойти к этому вопросу подробнее, то существует некий лимит нагрузки на процессор сервера, при превышении которого ограничивается доступ к сайту! (см. пример превышения лимита)
«Некий лимит» может быть различным в своих значениях, эта цифра в процентном отношении, зависит от хостинга и выбранного Вами тарифного плана (т.к. лимит нагрузки на процессор является одним из составляющих параметров тарифа — см. пример параметров тарифного плана). При превышении значений лимита сайт становится полностью недоступным для посещения, потребуется некоторое время для восстановления, а это никому ненужные «проблемы».
Содержание статьи:
Превышения лимита нагрузки на WordPress
Превышение может случится на любом сайте, проблема возникает независимо от CMS. В моём случае даже на самой популярной системе WordPress не удалось избежать этой проблемы.
При чём, будучи начинающим вебмастером, я не мог до конца понять и повлиять на происходящие действия со стороны хостинга. Даже повышение параметров текущего тарифного плана не смогли дать видимых изменений, а только больше вводили в заблуждение в поисках решений. Между тем росло количество посетителей в сутки, что являлось самым сильным фактором для возникновения очередного превышения лимита нагрузки на процессор.
Выявление причин превышения лимита нагрузки
Итак, после некоторого времени активных действий с моей стороны, мне удаётся не только узнать основную причину нагрузки на сайт, но и в дальнейшем повлиять на снижение лимита. Как оказалось, причин было несколько, а именно:
- Некорректная работа используемого шаблона (скорее всего, имела быть несовместимость с новыми версиями WordPress);
- Достаточно большое количество активных плагинов, имеющие достаточно специфические функции (порядка 20 плагинов давали ощутимый прирост нагрузки, особенно некоторые решения);
- достаточно, объёмные контентные страницы тоже повлияли на возникновение проблем с нагрузкой (масса графических элементов в сочетании с текстом при формировании страницы грузили процессор не меньше, чем два вышеописанных пункта).
Причины и решения проблем
Как Вы догадываетесь причин может быть больше, и они могут носить индивидуальный характер. Но если начинать искать решение рассматриваемой проблемы, то стоит попробовать устранить 3 основных причины.
Во первых, смените активную тему WordPress, например, на одну из стандартных. Эти действия не только помогут проверить изменения нагрузки, но и валидность шаблона. Если при смене темы заметно снизится процент нагрузки, то можно смело отказываться от него (либо попытаться устранить ошибки в коде, которые могли стать причиной).
Во вторых, «Деактивируйте» плагины – все сразу или поочередно, проверяя влияние на нагрузку. Оптимальным количеством активных плагинов станет 5 – 12 штук, такой разброс обусловлен типом плагина (например плагин WPSpoilerпрактически не создаёт нагрузки, хотя и имеет решение через встраивание функции). Стоит поискать решения без плагинов, а их очень много. Вполне реально отказаться от многих популярных дополнений, заменив их несколькими строками кода. Даже построение карты сайта или вывод похожих записей можно поручить лёгкому во всех отношениях коду.
Ну и в третьих, будет неплохо использовать кэширование контентных страниц сайта, что позволит экономить не только время на построение страницы, но и значительно снизит нагрузку на сервер. К кэшированию стоит прибегнуть когда посещаемость сайта переваливает за полтысячи (или имеются достаточно популярные записи с частым обращением). При решении КЭШа сайта можно установить один из множества плагинов, один из популярных – HyperCache (имеет тонкие настройки, но и в режиме по умолчанию справляется со своей задачей).
Вместо послесловияпродолжение следует…
Ну вот примерный план по выявлению и решению проблемы снижения нагрузки на процессор сервера. Если у Вас есть чем дополнить вышесказанное, то пожалуйста отпишитесь в комментариях.
А в следующих статьях будут рассматриваться некоторые решения «без плагинов», а также установка кэширования на WordPress.
Beget однозначно не понравился. Если хотите перманентно получать сообщения о превышении нагрузки и выслушивать смехотворную аргументацию их саппорта — тогда да, велком на Бегет. )) Статья на тему http://masterpro.ws/biznes-lanch-khostinga-beget
Народ может кто подскажет. С какого то перепугу сайт http://d-nk.com.ua/ начал грузить проц хостера.
Вот что пишет Хостинг
«В том-то и проблема, что определить причину нагрузки не удается.
Я просмотрел нагрузку по вашему аккаунту с начала лета — она медленно, но постоянно растет — где-то в начале июня она в среднем перевалила через 1%, в начале октября — через 2%, в середине ноября — через 3%.
Потому мне кажется — где-то какие-то данные, которые используются при генерации страниц, накапливаются и таким образом замедляют обработку страниц все дальше и дальше.
Больше всего строк у вас в таблицах: wp_comment_rating, wp_login_fails, wp_postmeta, wp_term_relationships, wp_yapp_related_cache.
Первым делом я бы попробовал отключить комментарии или систему их оценки (рейтинга). Возможно при этом стоит удалить содержимое таблицы (можно перед этим сделать бекап содержимого).
login_fails теоретически должна влиять только на вход в админку.
Что хранится в postmeta я, к сожалению, не знаю, а это самая большая таблица. Про term_relationships я также ничего не знаю, но она поменьше.
yapp_related_cache — это скорее всего таблица какого-то модуля. Если есть идеи — какого, можно попробовать его отключить/удалить.»
То есть какую из этих таблиц можно смело почистить не нанеся вред работе сайта
Здравствуйте! Ну думаю, очистка базы данных или отдельных таблиц вряд ли приведёт к значительной оптимизации работы сайта. Надо понимать, что нагрузка происходит только во время обращения к той или иной записи в базе, то есть следует уменьшать количество запросов в шаблоне. А это необязательно исходный код темы оформления, а возможно работа одного из плагинов (модулей). Чтобы проверить нагрузку на сайт можно установить соответствующий плагин, который в течении нескольких минут протестирует загруженность от дополнений, а также вычислит среднее количество запросов к БД.
А вообще, попробуйте установить кеширование для сайта, проверить плагины, а также убедиться, что Вас не посещают вредоносные боты. ..