Jaf4: - начать кэшировать (хотя при такой посещаемости это смешно)
На сайте стоит wp-super-cache, время хранения кеша — 2 дня.
---------- Добавлено 15.12.2015 в 11:17 ----------
livetv: Узнать, какие страницы/запросы создают основную нагрузку.
Вот тут проблема — каким образом. Учет процессорного времени идет по времени исполнения процесса php. Один процесс php обрабатывает до 500 запросов, т.е. время индивидуального запроса определить не получится. Единственное что я могу сделать — разнести выполнение запросов, идущих на разные точки входа по разным php-процессам, что уже и было сделано для админки и содержимого wp-content.
Соответственно, остается анализ статистики посещений. Статистика за вчера (отсеиваются запросы к статике, так как она не требует исполнения скриптов):
---------- Добавлено 15.12.2015 в 11:21 ----------
paveldvlip: А что мешает хостеру зайти в консоль и посотреть потребление оперативки по команде top? Если это демон MySQL грузится, то нужно проверять сколько ему вообще отведено памяти. И самое главное: всё ли нормально с индексами таблиц. Они создаются? Они вообще есть?
MySQL находится на отдельном сервере и в нагрузку не считается. Считается только cron, скрипты сайта и работа с файлами.
На php хостер может поставить eaccelerator для ускорения компиляции скриптов. А все эти "не удалось найти причину" - это ерунда и некомпетентность.
eaccelerator — мертвый проэкт. У нас по умолчанию стоит и включен xcache.
---------- Добавлено 15.12.2015 в 11:22 ----------
Gerga: попробуйте:
SELECT count(*) FROM `wp_options` WHERE `autoload` = 'yes'
сколько насчитывает?
mysql> SELECT count(*) FROM `wp_options` WHERE `autoload` = 'yes';
+----------+
| count(*) |
+----------+
| 351 |
+----------+
Поверьте, если взять активнаую работу в админке вордпресса и активную работу в админке джумлы — результаты статистики налицо. Конечно, это разные движки, однако джумла вмещается в минимальный тариф, а вордпресс — нет (повторяю, при активной работе в админке). Даже если это один человек. Однако в данном случае админка не создает нагрузки.
[/offtopic]
Я не говорю, что причина именно в таблицах, это было предложение что еще проверить.
Количество запросов к сайту с начала лета возросло в среднем с 9 тысяч до 15 тысяч в день. Это по страничке вебалайзера. Более точную выборку можно сделать за последние десять дней, но за это время количество посещений приблизительно на одном уровне.
mysql> SELECT COUNT(*) FROM `wp_postmeta` WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug');
+----------+
| COUNT(*) |
+----------+
| 3333 |
+----------+
В статистике запросов к сайту нет POST-запросов к /wp-login.php и /xmlrpc.php (пакетный подбор паролей). Также нет запросов к /wp-comments-post.php.
Кроме того, несмотря на большое количество запросов к admin-ajax.php и вообще наличие работы в админке (которая у wp часто является причиной повышенного потребления ресурсов) — основную часть нагрузки создают запросы, приходящиеся на точки входа вне папки wp-admin.
Идея о размере таблиц возникла так как нагрузка растет очень медленно, общее количество запросов достаточно стабильно и сравнительно мало, а в своей практике я сталкивался с проблемами с перегрузкой из-за спам-комментариев, которые даже на сайте и не отображались (но, видимо, где-то обрабатывались движком). Обнаружить такое можно только исследованием базы данных.
Если нужно — можно привести конкретные цифры потребления по датам и конкретную статистику посещений (если топикстартер не против).
P.S. Сейчас сайт создает уровень нагрузки аналогичный этому сайту: http://avtopoligon.info/
Только к этому в день приходит 35 тысяч запросов.
- начать кэшировать (хотя при такой посещаемости это смешно)
На сайте стоит wp-super-cache, время хранения кеша — 2 дня.
---------- Добавлено 15.12.2015 в 11:17 ----------
Узнать, какие страницы/запросы создают основную нагрузку.
Вот тут проблема — каким образом. Учет процессорного времени идет по времени исполнения процесса php. Один процесс php обрабатывает до 500 запросов, т.е. время индивидуального запроса определить не получится. Единственное что я могу сделать — разнести выполнение запросов, идущих на разные точки входа по разным php-процессам, что уже и было сделано для админки и содержимого wp-content.
Соответственно, остается анализ статистики посещений. Статистика за вчера (отсеиваются запросы к статике, так как она не требует исполнения скриптов):
---------- Добавлено 15.12.2015 в 11:21 ----------
А что мешает хостеру зайти в консоль и посотреть потребление оперативки по команде top? Если это демон MySQL грузится, то нужно проверять сколько ему вообще отведено памяти. И самое главное: всё ли нормально с индексами таблиц. Они создаются? Они вообще есть?
MySQL находится на отдельном сервере и в нагрузку не считается. Считается только cron, скрипты сайта и работа с файлами.
eaccelerator — мертвый проэкт. У нас по умолчанию стоит и включен xcache.
---------- Добавлено 15.12.2015 в 11:22 ----------
попробуйте:
сколько насчитывает?
Не против, нужно же что то с этим делать
Ок, тогда какая статистика надо? Могу открыть доступ всем к webstat (webalizer), могу выдать результаты анализа логов с фильтрованием или без.
[offtopic]
Поверьте, если взять активнаую работу в админке вордпресса и активную работу в админке джумлы — результаты статистики налицо. Конечно, это разные движки, однако джумла вмещается в минимальный тариф, а вордпресс — нет (повторяю, при активной работе в админке). Даже если это один человек. Однако в данном случае админка не создает нагрузки.
[/offtopic]
Я не говорю, что причина именно в таблицах, это было предложение что еще проверить.
Количество запросов к сайту с начала лета возросло в среднем с 9 тысяч до 15 тысяч в день. Это по страничке вебалайзера. Более точную выборку можно сделать за последние десять дней, но за это время количество посещений приблизительно на одном уровне.
Результат запроса:
mysql> SELECT COUNT(*) FROM `wp_postmeta` WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug');+----------+
| COUNT(*) |
+----------+
| 3333 |
+----------+
В статистике запросов к сайту нет POST-запросов к /wp-login.php и /xmlrpc.php (пакетный подбор паролей). Также нет запросов к /wp-comments-post.php.
Кроме того, несмотря на большое количество запросов к admin-ajax.php и вообще наличие работы в админке (которая у wp часто является причиной повышенного потребления ресурсов) — основную часть нагрузки создают запросы, приходящиеся на точки входа вне папки wp-admin.
Идея о размере таблиц возникла так как нагрузка растет очень медленно, общее количество запросов достаточно стабильно и сравнительно мало, а в своей практике я сталкивался с проблемами с перегрузкой из-за спам-комментариев, которые даже на сайте и не отображались (но, видимо, где-то обрабатывались движком). Обнаружить такое можно только исследованием базы данных.
Если нужно — можно привести конкретные цифры потребления по датам и конкретную статистику посещений (если топикстартер не против).