ПРОЕКТЫ 


  АРХИВ 


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: nginx status: reading 100-200, writing 1-5. Как побороть?


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: nginx status: reading 100-200, writing 1-5. Как побороть?
  • From: "mikhal123" <nginx-forum@xxxxxxxx>
  • Date: Wed, 19 Sep 2012 13:45:49 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=JCKTtZpvZclHn4ayrq30gQLbUz+751KjNxdt6K3sVTQ=; b=C8wkQCSzIOAVdrzBQzU31+361VegElb8BjR20h9YLMeruIc3/9n/pnvxrcSTOZqtQRZfcAAV98Xg5/LiTHCcD6JwwrOOM3zl2/IjgUFaqQKhDjpL2djsHdkg6S+E7o93;
  • In-reply-to: <201209191859.37979.ne@vbart.ru>
  • References: <201209191859.37979.ne@vbart.ru>

> Они в любом случае будут доходить, так он работает.
> 
> Я понял в чем причина. Вы выставили client_header_timeout в 3 секунды,
> а 
> deferred accept берет свой таймаут из этой же директивы.
> 
> В итоге, у вас 3 секунды соединение проводит в ядре, а потом кончается
> таймаут
> deferred accept-а и соединение передается nginx-у, и nginx ждет ещё
> три секунды 
> до таймаута.
> 
> Выставлять client_header_timeout в столь малое значение вообще была
> очень плохая 
> идея в любом случае. Так жестко играясь с таймаутами (которые и так по
> дефолту 
> имеют более-менее оптимальные значения) вы более навредите своим
> посетителям, 
> чем получите какую-то выгоду. 100 соединений nginx способен держать
> даже на 
> кофеварке, это не та цифра по которой надо переживать.
> 
> Рекомендую спилить client_header_timeout из конфига, 60 секунд по
> дефолту скорее 
> всего будет достаточно чтобы Хром сам отвалился проведя всё время в
> ядре, и всё,
> что осталось бы nginx - это отработать закрытие соединения.

Ну без знания о таких деталях работы nginx сложно догадаться, что уменьшение
client_header_timeout приведет к таким проблемам с хромом. Да и, как
вспоминается, в инете присутствуют руководства где рекомендуется этот
таймаут ставить небольшим. Типа защита от ддоса :)

Но теперь все понятно, настройки

client_header_timeout   15;
listen                          80 default_server backlog=1024 sndbuf=512k 
deferred;

практически полностью устраняют проблему
Active connections: 2825 
server accepts handled requests
 507907 507907 1094551 
Reading: 11 Writing: 3 Waiting: 2811 

Благодарю за помощь

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,230818,230883#msg-230883

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.