Я использую MySQL 5 на производственном сервере Ubuntu 8.04. Обслуживаются два отдельных сайта на основе php, каждый из которых включает интенсивные запросы mysql.
Я заметил, что когда я запрашиваю страницу на первом сайте, которая вызывает 100% загрузку процессора mysql в течение 1 минуты, страница входа на второй веб-сайт даже не может быть обслужена. Кажется, что mysql полностью занимает ЦП, так что даже не требующие больших затрат задачи не могут быть выполнены за это время. Есть ли способ обойти эту ситуацию? В чем кроется настоящая причина проблемы?
Спасибо.
Трудно дать хорошее решение, не углубляясь в рабочие нагрузки обоих приложений, но в основном у вас есть несколько вариантов. Либо исправьте код, чтобы он не приводил к блокировке БД на минуту, добавьте кеширование (memcache / squid), обновите ящик mysql или получите второй ящик. Вы должны выполнить некоторые базовые проверки mysql, например, убедиться, что у вас включен кеш запросов и используется как можно больше оперативной памяти.