Назад | Перейти на главную страницу

Максимальный процессор веб-сервера, когда apache и MYSQL запускаются вместе

Этот сайт работает нормально, без проблем, недавно он вышел из строя.

После некоторого расследования похоже, что комбинация MYSQL и Apache ставит коробку на колени. Apache может запускать поиск, обслуживающий статические веб-страницы, а MYSQL может работать нормально, когда веб-сайт не работает.

Как только веб-сайт включен с запущенным SQL, ЦП на коробке остается на 100%.

Изображение использования:

Я проверил базу данных sql на наличие ошибок, попытался настроить почти каждый параметр в файле conf apache / sql для повышения производительности. Сервер представляет собой коробку на базе Redhat, на которой установлены последние пакеты программного обеспечения.

Любая помощь / предложения приветствуются.

Выполняя strace на высоком процессоре apache, я вижу следующее:

read(14, "", 8192)                      = 0
close(14)                               = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 14
fcntl64(14, F_SETFL, O_RDONLY)          = 0
fcntl64(14, F_GETFL)                    = 0x2 (flags O_RDWR)
connect(14, {sa_family=AF_FILE, path="/var/lib/mysql/mysql.sock"...}, 110) = 0
setsockopt(14, SOL_SOCKET, SO_RCVTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(14, SOL_SOCKET, SO_SNDTIMEO, "\2003\341\1\0\0\0\0", 8) = 0
setsockopt(14, SOL_IP, IP_TOS, [8], 4)  = -1 EOPNOTSUPP (Operation not supported)
setsockopt(14, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0

Вот что я вижу в процессе mysql:

futex(0x86fc9a4, FUTEX_WAIT_PRIVATE, 39, NULL) = 0
futex(0x86fc734, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x86fc734, FUTEX_WAKE_PRIVATE, 1) = 0
gettimeofday({1301465020, 141613}, NULL) = 0
clock_gettime(CLOCK_REALTIME, {1301465020, 141699633}) = 0
futex(0x8707a64, FUTEX_WAIT_PRIVATE, 1, {4, 999913367}) = 0
futex(0x8707a40, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x8707a40, FUTEX_WAKE_PRIVATE, 1) = 0
exit_group(0)                           = ?

Я знаю, вы сказали, что настроили Apache, но это сайт с низким трафиком? Вы пытались сохранить дочерние экземпляры Apache прямо вниз: MaxSpareServers.

Вы можете проверить ps -ef присмотреться к %CPU столбец на процесс. Если это просто сайт на старом оборудовании, которое вы могли бы протестировать lighthttpd как исправление.

Извините, что эти предложения немного неестественны.