Apache+Perl: обрыв STDIN

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SelF
Сообщения: 83

Apache+Perl: обрыв STDIN

Сообщение SelF »

Доброго дня, уважаемые форумчане.
Столкнулся с проблемой, которую никак не получается решить.

Имеем:
- сервис по трансляции видео
- WEB и видео сервера
Видео сервера обрабатывают загрузку видео и они же его вещают.
Проблема возникает именно с загрузкой на сервер.
В различные моменты времени пользователю возвращается "I/O error", а в БД записывается краткая информация о падении.
воспроизвести ошибку самостоятельно не удается, причины не выяснены.

Данные системы:
CentOS 5 x86_64
Apache
Arch : x86_64
Version: 2.2.3
Release: 11.el5_2.centos.4

Perl
Arch : i386
Version: 5.8.8
Release: 15.el5_2.1

В логах информации о причинах падения нет.

Есть две версии что делать:
1) смотреть в настройки ОС - sysctl
2) разбирать конфиги апача. Сейчас используется prefork MPM.

Товарищи, помогите, пожалуйста, найти причины.
Спасибо сказали:
Аватара пользователя
SelF
Сообщения: 83

Re: Apache+Perl: обрыв STDIN

Сообщение SelF »

Прояснились некоторые детали.

Для аплоада используются SWFUpload, поэтому задал подобный вопрос на их форуме.
Вот что получил в ответ:
There are a few common causes for IO errors. Unfortunately the Flash Player doesn't give any details.

The only way I can think of to log the details is to handle the uploadError event and send the "message" parameter to the server as an ajax request.

Whatever is shown in the message parameter is all the information that Flash gives us.

Most often IO errors are seen:
1. The POST (file size + other post paramters) exceeds the max allowed by the server.
2. The server script execution time exceeds the timeout limit
3. mod_security rejects the upload (because the Flash Player uses a valid but suspicious format for the upload)
4. An error in the page terminates the connection without a response
5. Some other timeout.
6. Anti-virus software.


Номера 3 (mod_security) и 6 (антивирус) отпадают, т.к. они не используются.
Таймауты в Апаче стоят следующие:
Timeout 3000
KeepAliveTimeout 1500
Должно быть достаточно.
Возможно ли сконфигурировать настройки perl через конфиг-файл наподобии настроек php через php.ini?
Не знаю, насколько это может помочь, но если использовать вместо текущей модели prefork MPM модель worker MPM, какой результат это может дать?

С уважением.
Спасибо сказали: