ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


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


  ПРОГРАММЫ 



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












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: стоит ли убивать воркер а?


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: стоит ли убивать воркер а?
  • From: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Wed, 2 Dec 2009 16:33:24 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=SDfq5I7Q/3h1Dnq0vU21Cx2q5KwFFEDqZuAQInWfu6U=; b=p4W50QgJZbJsoeZD1HQsTDJ+BCk6ULCZnMPyGall09z8ABxOwDQMrbv7t7d7Bl3yQ2 AsyKElFSjwNlbmz3o9GEVaZIvBIKLLFroY9IoaC3NYH2SF+G4zLsSnCe6oDqGWYs403+ BeXUDulrD0aqDZGabuA+O95XLB5Jm5xUmf6BI=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=tQIvkRw0TIOzGRTZTApMJJm460ymTFkn8GVB7EIuEZSYFG5OrFTXoEfb2KhfXIVScp YXlFwiTD/ciUfC3h9ejUSHwTGSEh/i9F5nHiSJV9SNrwqa1/ZkiE8IdpB9IBGmKgay2v 8HLfQm8vQwxyqqoXspdvKoo8x5IIXhYMgoIqw=
  • In-reply-to: <9041d07304fc63c1aab37bd6bbbb1b1f.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <9041d07304fc63c1aab37bd6bbbb1b1f.NginxMailingListRussian@xxxxxxxxxxxxxxx>

2009/12/2 vromanov <nginx-forum@xxxxxxxx>:
> Написан небольшой модуль для nginx. Он при старте конектится к базе данных а 
> потом бодро отдет результаты запросов к базе данных (timesten). Проблема 
> возникает если во время работы nginx презапустить базу данных. Конект 
> отваливается и ничего хорошего не происходит. Есть два варианта как себя 
> вести в таком случае - ловить такую проблему и переконекчиваться. Сам конект 
> - операция небыстрая.
> Второй случай - просо убивать такого воркера (точнее он сам себя убьет) и 
> ждать, что его перезапустит мастер.
> Вопросы
> 1) Будет ли мастер перезапускать умершего воркера?

Будет. Он для этого и нужен.

> 2) Как правильно воркер может себя убить

SIGTERM (kill -15, обычное ласковое убийство)

Есть два варианта как себя вести в таком случае: ловить такую проблему
и переподключаться к базе или фейлить запрос с 500. Умирать и
оставлять запрос без ответа это абсолютно странное поведение.

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

Допустим, база падает раз в час. Лучше один медленный ответ раз в час,
чем один запрос без ответа раз в час

> Posted at Nginx Forum: 
> http://forum.nginx.org/read.php?21,27384,27384#msg-27384
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.