SvetlanaNikit
Зарегистрирован: 07.10.2006 Сообщения: 10
|
Добавлено: Пт Май 11 2007 15:41 Заголовок сообщения: Сбоит апач.. child process did nоt exit.. |
|
|
Добрый день!
прошу прощения, если не в этой ветке.
Джентельмены, подскажите, пожалуйста, где копать.
"погуглила" по теме, но применительно именно к моей ситуации нет никаких советов.
проблема вот в чем
есть веб-сервер на FreeBSD 6.1
установлены Апач 1.3.37+nginx (спасибо Stellarator'y )+ PHP + MySQL.
специфика сервера в том, что один из двух сайтов, крутящихся на сервере, аналогичен по функциональности Youtube - поестители обмениваются видеороликами. выкладываю на сервер свои ролики, там они конвертируются php-скриптом в единый формат и т.д.
так вот. намучалась я с этим конвертером - жуть. первоначально из-за него в часы-пик браузер часто выдавал ошибку недоступности базы данных. Увеличила я в настройках MySQL число одновременный подключений к базе данных, пообщалась с разработчиком конвертера, он чего-то там исправил - и вроде все заработало. не не долго.
сейчас - новая напасть. при включенном конвертере сервер периодически зависает. ход симптомы зависаний такие:
1. Запустили конвертер. (он просматривает очередь из загруженный не обработанных файлов, вибирает наименьший по размеру, ковертирует его - и так далее)
2. тут же Тор выдает, что резко - раза в два- увеличилось число процессов httpd
3. но сервер справляется с нагрузкой час-два.
4. начинается лавинообразное нарастание количества процессов httpd
5. серверу физически не хватает памяти. он начинает часто свопиться.
6. занавес. помогает только остановка и последующий запуск апача. не рестерт, а именно в такой последовательности: стоп - несколько секунд ожидания - старт. простая команда /usr/local/sbin/apachectl restrat не срабатывает почему-то в этом случае...
в логах апача error.log при этом на момент сбоя я наблюдаю
Код: | [Fri May 11 16:33:52 2007] [notice] SIGHUP received. Attempting to restart
[Fri May 11 16:33:58 2007] [notice] Apache/1.3.37 (Unix) PHP/4.4.6 with Suhosin-Patch configured -- resuming normal operations
[Fri May 11 16:33:58 2007] [notice] Accept mutex: flock (Default: flock)
Seek failed
MPEG: FATAL: EOF while searching for sequence header.
Video: Cannot read properties.
ADecoder init failed :(
Unknown/missing audio format -> no sound
ADecoder init failed :(
ADecoder init failed :(
Cannot find codec for audio format 0x50.
[Fri May 11 18:18:53 2007] [notice] child pid 90059 exit signal Segmentation fault (11)
[Fri May 11 18:29:56 2007] [notice] child pid 90088 exit signal Segmentation fault (11)
[Fri May 11 18:30:42 2007] [notice] child pid 90075 exit signal Segmentation fault (11)
[Fri May 11 18:33:06 2007] [notice] child pid 90174 exit signal Segmentation fault (11)
[Fri May 11 18:34:05 2007] [notice] child pid 90170 exit signal Bus error (10)
[Fri May 11 18:39:56 2007] [notice] child pid 90067 exit signal Segmentation fault (11)
[Fri May 11 18:44:09 2007] [warn] child process 90082 did not exit, sending another SIGHUP
[Fri May 11 18:44:10 2007] [warn] child process 90052 did not exit, sending another SIGHUP
[Fri May 11 18:44:10 2007] [warn] child process 90054 did not exit, sending another SIGHUP
[Fri May 11 18:44:10 2007] [warn] child process 90265 did not exit, sending another SIGHUP
[Fri May 11 18:44:10 2007] [warn] child process 90074 did not exit, sending another SIGHUP
[Fri May 11 18:44:10 2007] [warn] child process 90266 did not exit, sending another SIGHUP |
я так понимаю, что проблема в конвертере. но никак не могу понять, как это связано с апачем??? |
|
SvetlanaNikit
Зарегистрирован: 07.10.2006 Сообщения: 10
|
Добавлено: Сб Май 12 2007 22:55 Заголовок сообщения: |
|
|
вот описание работы конвертера.
Код: | Конвертер - самописный скрипт на PHP.
Функции: Конвертирование существующих на сервере файлов из нескольких распространеных форматов в один (flv)
Использует:
Битрикс (подключение к БД)
Mencoder (само конвертирование)
Flvtool2 (Добавление метаданных в FLV файл)
mplayer (создание тумбов)
ffmpeg
Видео загружает скрипт video_upload/upload.php (Простая загрузка файла на сервер).
Висящий в фоне converter.php:
1. Подключает заголовок Битрикса
2. Снимает ограничения по времени выполнения
3. Проверяет себя на единственность
4. Запускает цикл с условием canrun (по умолчанию true, т.е. цикл в рабочих условиях бесконечен)
ЦИКЛ:
1. Проверка на допустимость выполнения (небыло ли команды на выключение, если была, то скрипт умирает).
2. Выборка очереди, выборка из неё файла наименьшего размера
3. Создание тумбов из оригинала
4. Конвертирование Mencoder'ом
5. Добавление метаданных
6. Удаление лишних файлов
7. Активация основной записи видео в БД
Если п.2 ничего не нашёл, то скрипт засыпает на 5 секунд и повторяет цикл |
|
|