Задать вопрос

Определить источник нагрузки на сервер?

Приветствую!

Дано: Shared хостинг (Apache + MySQL) с выделенным ip и допустимой нагрузкой аккаунта в 3%. Сайт на wordpress с 600 постами и 200 униками в день. Также установлено много плагинов (около 20), перечислены ниже списком.

На протяжении 2 лет нагрузка не выходила за рамки 3% существенно и надолго. Но с начала октября хостер уведомил о значительном постоянном превышении лимита загрузки процессора. На тот момент средние значения за день были от 7-15%. Таблица загрузки в панели управления доступна только за календарный месяц, поэтому узнать каким образом загрузка росла или появилась сразу - не представляется возможным. К середине октября загрузка не опускалась ниже 10%.

Из предпринятых действий:
- изменены все пароли.
- обновление wordpress c 3.5 до последнего - ничего не поменяло.
- включал кеширование сторонними плагинами - толку ноль.
- отключены все плагины и закрыты папки к ним переименованием папки по ftp - толку ноль.
- предложение через mod_status найти виновника хостером отвергнуто.
- при закрытии в основном .htaccess по deny from all - загрузка падает до нуля.
- смена темы с рабочей на twenty ten - ничего не изменила.
- смена БД на свежую, только что установленную - загруз пришел к 0.7%.
- импортируя по 1 таблице в БД за раз - вычислил, что после импорта таблицы wp_options загруз возвращается к 10-15%.
- если из этой таблицы вычистить все кроме основных настроек вордпресса - загруз плавает в рамках 1.5 -2.5%.
- в таблице wp_options содержится 420+ строк.

Грешил на хлам от плагинов в этой таблице. Но пока разбирался со строками - заметил, что загруз с оригиналом wp_options опустился к 3,5% - 6% на протяжении недели. Посещалка упала почти до нуля еще с начала октября из-за отключения рабочей темы и выпиливания таблицы постов. Судя по логу сервера заходят 1-5 человек в день. Боты поисковиков стучаться постоянно. Получается, что загруз при тех же данных снизился почти вдвое.

Данные на вчера:
% от 1CPU (CPUTIME в минутах) = 6.05 % (87.12cp)
Ср. ОЗУ (МБ) = 58.31 МБ
MySQL cputime = 39 сек.

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

У друга есть такой же аккаунт у этого хостера, 5 сайтов на вордпрессе и друпале с посещалкой каждого от 500 - 1000 уников. Загруз по его аккаунту не превышает 2-2.5%. Без какой либо оптимизации производительности и кеширования.

Список плагинов:
AddThis Social Bookmarking Widget
AdRotate
Advanced Custom Fields
All in One SEO Pack
belavir (php MD5)
Cat + Tag Filter
Comprehensive Google Map Plugin
Contact Form 7
Contextual Related Posts
Cyr-To-Lat
Dagon Design Sitemap Generator
Display Posts Shortcode
Disqus Comment System
Get Post List With Thumbnails
Google XML Sitemaps
Lightbox 2
Meteor Slides
qTranslate
Шорткоды
Simple Ads Manager
Simply Show IDs
Wordpress Popular Posts
WP-pagenavi
WP-PostRatings
WP PHP widget
WP в режиме обслуживания
WP Tuner
Simple "Coming soon" And "Under construction"

UPD: хостер говорит, что запросов медленнее 10 секунд нет.
  • Вопрос задан
  • 5144 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Serentype
@Serentype Автор вопроса
Всем спасибо, Проблему выявил. Когда убрал базу постов, сократилось количество посетителей в день и стали заметны запросы от поисковых ботов, коих было 15-20к в сутки. В основном от Бинга. Бинг ушел в бан всей подсетью через .htaccess и загрузка стала нормальной.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
windoctor
@windoctor
Попросите у хостера лог медленных запросов MySQL и изучайте, оптимизируйте
Ответ написан
Nidora
@Nidora
Бонус 200 руб всем новым клиентам! VDS - 149 руб
Только по логам вы сможете определить нагрузку на сервер или вам просто не хватает ресурсов на сервере.
Ответ написан
Комментировать
Slams
@Slams
Самый простой способ - изменить хостинг. Есть хостинги на ссд, которые не ограничивают Ваши ресурсы. При такой посещаемости, говорить о какой-то нагрузке - смешно.

Хотя, можно пойти следующим путем - начать кешировать запросы к базе и использовать объектное кеширование. Поставьте em object cache плагин, а также APC menu object cache. Включите обязательно apc.so в настройках php.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы