ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

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

Re: [apache-talk] Resource temporarily unavailable | big trouble


  • To: apache-talk@lists.lexa.ru
  • Subject: Re: [apache-talk] Resource temporarily unavailable | big trouble
  • From: "Ilya Basalaev [Scarab]" <scarab@sw.ru>
  • Date: Fri, 14 Jun 2002 22:33:40 +0400 (MSD)


On Fri, 14 Jun 2002, Artem Sokovtcev wrote:

> Столкнулся со странной и очень неприятной проблемой - сервер начал
> периодически и хаотично сбоить! Сайт "написан" на шароварной CMS (Perl +
> MySQL) и обращении к любому файлу (кроме бинарных) обязательно влечет за
> собой вызов интерпретатора Perl, тк весь контент сайта лежит в БД и выдается
> из нее через парсер (parser.cgi).
> 
> Я допустим обращаюсь по любому существующему URL - получаю в ответ
> нормальные html-страницы, обращаюсь еще несколько раз подряд - несколько раз
> получаю в ответ 500 ошибку. При этом в errors-логе появляется запись вида:
> 
> [Thu Jun 13 21:20:02 2002] [error] [client 212.46.234.91] (11)Resource
> temporarily unavailable: couldn't spawn child process:
> /home/user-www/cgi/parser.cgi
> 
> [Thu Jun 13 21:20:09 2002] [error] (11)Resource temporarily unavailable:
> fork: Unable to fork new process
> 

[skipped]

> Вопросы:
> 
> 1. Действительно ли проблема в кол-ве процессов?

Очень на то похоже.

> 
> 2. Почему ее раньше не было?

Может быть, меньше была нагрузка на сервер.

> 
> 3. Сколько процессов надо (ну на глаз .. примерно ..), чтобы мой сайт мог
> обслуживать 5 клиентов одновременно???

Зависит как минимум:
а) от того, входит ли в число данных процессов сам apache.
б) От среднего количества элементов на страницу, для обработки которых 
порождается процесс perl, и от среднего времени его работы для выдачи 
элемента.

Понятно, что если документ состоит из 10, например, элементов, для каждого 
из которых форкается новый интерпретатор, и они все будут вызываться 
одновременно - то будет 10 перлов. Если не одновременно - то какие-то 
будут умирать, а на их место рождаться другие - это зависит от структуры 
сайта и от времени генерации. А дальше простая арифметика.

В качестве workaround'а, видимо, можно ограничить количество 
одновременно живущих апачей - лучше пусть клиент немного подождет, но 
остальные будут корректно обслужены.


wbr.,
Ilya Basalaev [Scarab], SWsoft.

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



 




Copyright © Lexa Software, 1996-2009.