Редактор одного из сайтов стал жаловаться на частые обвалы сайта во время интенсивной работы в админке WordPress. В лучшем случае админка тормозила, иногда падала. Смотрю top вижу кучу не завершенных апачей. Странно. WordPress кешированный SuperCache, настройки апача проверенные временем, нападения ботов не заметно. Открываю server-status , дабы посмотреть какие страницы может тормозят. И вижу сразу 4 штуки процесса
POST /wp-cron.php?doing_wp_cron
Я всегда думал что вордпрессовский wp-cron.php отвечает только за отложенную публикацию. Оказалось что на этого планировщика понавешано много чего. Чтобы разобраться что сейчас делает wp-cron нужно установить плагин WP-Crontrol. В репозитории описано, что с версией WordPress 3.xx он не совместим, но у меня нормально работает.
Так вот запускаем плагин и видимо, что на wp-cron висит несколько запланированных задач, но ведь POST /wp-cron.php?doing_wp_cron в server-status висит сейчас … Не понятно. Случайно обновил Crontrol в момент после публикации редактором нового поста и увидел два новых процесса со статусом ( now ) это были sm_build_cron и ping_cron. Первый оказалось собирает карту сайта в плагине XML Sitemap в фоне при публикации новой статьи, а второй пингует. И все эти процессы пускаются как раз через wp-cron.php .
Пока отключил сборку карты и пинги из XML Sitemap. Вроде полдня работает нормально. Будем посмотреть что дальше.
Тим 2010-12-25