Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] непонятная проблема с Apache+MySQL



Доброго всем времени суток!

Уж и не знаю, куда точно писать и куда дальше копать, может, кто надоумит.

Проблема следующая. Есть машина, на которой крутятся Apache с 
вкомпиленным PHP и крутится MySQL. Периодически наблюдается ситуация,
когда Апачи по малопонятным причинам начинают резко плодиться и за 
несколько минут доходят до разрешенного в конфиге Апача предела 
(сейчас - 70 клиентов). При этом порождается некоторое число процессов
MySQL, причем их число примерно равно числу Апачей. И вся это занимает
метров 30-40 свопа при 128 метрах оперативки и не думает 
рассасываться. Лечится путем остановки и запуска Апача.

В принципе, такая проблема наблюдалась периодически. На этой неделе - три
раза за три дня. На прошлой - два раза с перерывом в два-три часа. До
этого не наблюдалась больше двух месяцев. Еще до этого наблюдалась пол июля.
Так что периодичность странная.

Когда после продолжительного перерыва проблема вновь всплыла на прошлой 
неделе, по выводу команды mysqladmin processlist было хорошо видно,
что многие процессы ждут на одной-единственной таблице (в состоянии lock).
Мы решили, что это классическая проблема MySQL, когда при операции update
лочится вся таблица и все селекты встают в очередь. Было очень похоже. Два
дня назад для таких критических таблиц мы изменили их тип на InnoDB (новый
тип таблиц, где лочится уже не вся таблица, а отдельные строки). Однако
вчера мы получили ту же проблему, которую уже и непонятно куда копать.

В фоне у меня крутится команда top, которая раз в минуту сбрасывает свой 
вывод в файл. Ближайший к моменту останова Апача вывод показывает, что был
71 процесс httpd (кстати, подскажите почему 2 из них от имени рута? Я думал,
что должен быть только один от имени рута, из которого плодятся процессы от
имени nobody) и 60 процессов mysqld. Есть также вывод команды mysqladmin 
processlist перед остановом Апача, но там лично я никакого криминала 
углядеть не могу. Видно только, что в основном используются базы двух 
проектов. Но от этого не легче, ткнуть в конкретное место пока не удается.


Заранее всем огромное спасибо!

Всеволод.

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.