Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FastCGI, скрипт стал отваливаться по таймауту, сам скрипт не изменялся 
:(
    Опции темы
ochnev
Дата 20.9.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Есть на одном сервере 2 разных сайта на Perl с FastCGI. Движки почти одинаковые.
Один сайт работает нормально, а во втором неожиданно сломался скрипт. Сам скрипт я не трогал. Скрипт на сервере не изменялся с того момента, как он работал.
Кликаю по ссылке, начинается ожидание, скрипт умирает по таймауту.
Остальные FastCGI-скрипты на том же сайте работают нормально, умирает только один.

Перезапуск Apache не помогает, перезагрузка сервера (бессмысленно, но надо было попробовать) тоже ничего не меняет.

Я подумал уже, что винт на сервере попортился. Зашёл по SSH, в Midnight Commander'е посмотрел содержимое скрипта и шаблона страницы, - всё открылось, файлы прочитались, значит причина не в этом.

Что делать?

Истории предшествовало нашествие робота Yahoo, равносильное DOS-атаке. Файл robots.txt я подредактировал, чтобы закрыть сайт от этого робота, - бесполезно.
(Умер, кстати, тот самый скрипт, страницу которого часами активно дёргал поганый робот.)
Я много раз перезапускал httpd, чтобы как-то сбросить уродского паразита. Могло при этом что-то сломаться? Глупо, конечно, но вдруг есть какой-то баг в Apache или в mod_fastcgi, когда от перезапуска что-то ломается. Может быть, где-то временный файл какой-нибудь надо удалить?

Что делать?


Это сообщение отредактировал(а) ochnev - 20.9.2008, 18:02
PM MAIL   Вверх
ochnev
Дата 20.9.2008, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Попробовал накрыть файл, лежащий на сервере точно таким же файлом с локальной машины (дата там другая, более новая) и перезапустил Apache (для FastCGI это надо).
Сначала сработало, ожил скрипт.
Теперь опять сдох. Опять перезапустил Apache - скрипт опять ожил.

Хоть сиди дежурь, Apache перезапускай каждый раз.


Это сообщение отредактировал(а) ochnev - 20.9.2008, 18:30
PM MAIL   Вверх
ginnie
Дата 22.9.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



Уважаемый ochnev, а в логе ошибок web-сервера есть что-нибудь?


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
gcc
Дата 22.9.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



может быть не "прибитых" процессов много...
приоритет к памяти какой? и сколько памяти ОЗУ,  32 метра?

Это сообщение отредактировал(а) gcc - 22.9.2008, 12:18
PM WWW ICQ Skype GTalk Jabber   Вверх
ochnev
Дата 11.11.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 253
Регистрация: 27.3.2006

Репутация: нет
Всего: нет



Видимо, я понял, в чём было дело.
Внутри цикла 
Код

while (my $query = CGI::Fast->new()) {
  # ...
  # основной код
  # ...
}

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

Теперь скрипт переписан, всё вроде OK.

PM MAIL   Вверх
tolkien
Дата 12.11.2008, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 5.4.2008

Репутация: 4
Всего: 4



Хех это баг CGI::Fast? Или Apache?

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0561 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.