Столкнулся с интересной проблемой эксплуатации WordPress - один из сайтов начал очень медленно работать - любая страничка отдавалась за 40 секунд, причем загрузка процессора при этом не увеличивалась, а mysqladmin показывал, что соединение с базой данных активно и процесс Mysql находится в состоянии Sleep.

Путем вывода отладочной информации выяснил, что торч наблюдается в функции wp_cron, которая выполняет определенные задачи по расписанию. Именно через этот механизм осуществляется ping удаленных серверов через протокол XML-RPC и такая огромная задержка обусловлена тем, что Php не может соединится с DNS сервером. После всего этого я вдруг вспомнил, что вчера сменил адрес DNS сервера в системе (файл /etc/resolv.conf), а mod_php к апачу видимо не перечитывает это файл в процессе вызова get_host_by_name. В итоге рестарт апача решил проблему - сайт начал работать как и раньше.

Из этого следует вывод - Если вы сменили адрес DNS сервера в системе, то обязательно перезапустите вебсервер!

Посты по теме:

  • Пока что ничего не написано