У меня есть WordPress с тысячами категорий / пользовательских таксономий и десятками тысяч постов.
Мне трудно держать его в сети без кеша, потому что процессор достигает 100% (используется сервером MySQL, а не php).
Я выделил проблему, из-за обновления MySQL,
Ошибка базы данных WordPress: [сервер MySQL пропал]
ОБНОВИТЬ wphn_options
ЗАДАВАТЬ option_value
= ……….. ГДЕ option_name
= ‘rewrite_rules’, это выполняется при каждой загрузке страницы.
Это пример того, как option_value выглядит следующим образом: `Ошибка базы данных WordPress: [сервер MySQL ушел] (это не каждый 1% запроса, просто короткий предварительный просмотр).
Кто-нибудь знает, как я могу остановить выполнение этого запроса?
UPDATE `wphn_options` SET `option_value` = 'a:7269:{s:18:\"sitemap_trolio.xml\";s:33:\"index.php?aiosp_sitemap_path=root\";s:29:\"sitemap_trolio_(.+)_(\\d+).xml\";s:71:\"index.php?aiosp_sitemap_path=$matches[1]&aiosp_sitemap_page=$matches[2]\";s:23:\"sitemap_trolio_(.+).xml\";s:40:\"index.php?aiosp_sitemap_path=$matches[1]\";s:34:\"sitemap(-+([a-zA-Z0-9_-]+))?
Чтение содержания этого обновления options
Таблица, вы можете увидеть, что это связано с картой сайта вашего сайта. У вас может быть плагин карты сайта. Этот плагин Sitemap может что-то делать при каждой загрузке страницы. Попробуйте отключить это.
Если у вас есть доступ к phpmyadmin, сначала сделайте резервную копию вашей установки и базы данных (если вы этого еще не сделали). Затем выполните команду SQL OPTIMIZE TABLE wphn_options;
и посмотрим, поможет ли это. Если это так, отлично. Попробуйте также оптимизировать некоторые другие таблицы. OPTIMIZE TABLE wphn_posts;
может быть хорошим, чтобы попробовать.
Но посмотрите: Ваша установка WordPress не предусмотрена. Вам нужны лучшие серверные ресурсы. Вы занялись созданием десятков тысяч постов. Используя такую слабую конфигурацию сервера, вы намеренно скрываете эти сообщения от своей аудитории, просто чтобы сэкономить несколько монет.
И вы рискуете испортить свой сайт, используя слабый сервер. Разве это не само определение «пенни мудрый, фунт глупо?»
Ваш вопрос: «Батарея в моей машине разряжена. Я хочу перестать тратить электричество на стоп-сигналы. Пожалуйста, скажите мне, как обрезать провода к стоп-сигналам». С уважением, единственный рациональный ответ: «Вы с ума сошли? Вы рискуете разбить свой автомобиль, чтобы не починить аккумулятор? Почините аккумулятор!»
Я нашел решение, похоже, что из-за большого количества постов и категорий запрос не может быть построен, и сервер mysql аварийно завершил работу, чтобы защитить себя.
Я исправил проблему, добавив max_allowed_packet = 256M в файл конфигурации MySQL