From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=-0.5 required=5.0 tests=AWL,MSGID_FROM_MTA_HEADER, RP_MATCHES_RCVD shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.unicorn.general Subject: Re: listen backlog Date: Fri, 3 Dec 2010 07:35:09 +0000 Message-ID: <20101203073509.GA27953@dcvr.yhbt.net> References: <20101203023919.GA4411@dcvr.yhbt.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1291363738 28173 80.91.229.12 (3 Dec 2010 08:08:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 3 Dec 2010 08:08:58 +0000 (UTC) To: unicorn list Original-X-From: mongrel-unicorn-bounces@rubyforge.org Fri Dec 03 09:08:52 2010 Return-path: Envelope-to: gclrug-mongrel-unicorn@m.gmane.org X-Original-To: mongrel-unicorn@rubyforge.org Delivered-To: mongrel-unicorn@rubyforge.org Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: mongrel-unicorn@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: mongrel-unicorn-bounces@rubyforge.org Errors-To: mongrel-unicorn-bounces@rubyforge.org Xref: news.gmane.org gmane.comp.lang.ruby.unicorn.general:784 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1POQhI-00022G-KG for gclrug-mongrel-unicorn@m.gmane.org; Fri, 03 Dec 2010 09:08:52 +0100 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 9263618581F3; Fri, 3 Dec 2010 03:08:49 -0500 (EST) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id 233E31858112 for ; Fri, 3 Dec 2010 02:35:10 -0500 (EST) Received: from localhost (unknown [127.0.2.5]) by dcvr.yhbt.net (Postfix) with ESMTP id 603C81F78E; Fri, 3 Dec 2010 07:35:09 +0000 (UTC) ghazel@gmail.com wrote: > On Thu, Dec 2, 2010 at 6:39 PM, Eric Wong wrote: > > ghazel@gmail.com wrote: > >> I found this thread > >> http://rubyforge.org/pipermail/mongrel-unicorn/2009-September/000031.html > >> after googling for the same error located in my nginx error log. > >> > >> Is there some way to discover the current queue length of the backlog? > >> Increasing the maximum size to 2048 "worked" for me as well, but > >> obviously clients sit in the queue for a long time. If I could monitor > >> queue length I could get some idea of when I have insufficient unicorn > >> workers before the delay gets very high or requests fail. > > > > If you're using Linux, you can use Raindrops[1] to interrogate > > via inet_diag or parse /proc/net/{tcp,unix} yourself. > > > > You can run Raindrops separate/standalone script: > > http://git.bogomips.org/cgit/raindrops.git/tree/examples/linux-tcp-listener-stats.rb > > > > Or use it as middleware (see webpage): > > http://raindrops.bogomips.org/ > > > > git clone git://git.bogomips.org/raindrops > > Amazing! I had somehow never heard of it. Yeah, I don't have much interest in marketing; that's what users are for, but it's a chicken-and-egg problem :x > I use a unix socket for unicorn (should I not?) UNIX sockets are faster for nginx <-> Unicorn, but Raindrops is slower dealing with them since Linux doesn't export UNIX sockets stats to netlink the same way it does for TCP sockets. So there's always a tradeoff :x > so I had to make a copy of > linux-tcp-listener-stats.rb to support that. Now I'm able to get stats > for my unicorn master > > However, there seems to be some problem getting stats on TCP sockets: > > $ ruby linux-tcp-listener-stats.rb 127.0.0.1:9000 > address active queued > linux-tcp-listener-stats.rb:42:in `tcp_listener_stats': Connection > refused - sendmsg (Errno::ECONNREFUSED) > from linux-tcp-listener-stats.rb:42 > $ grep 0100007F:2328 /proc/net/tcp > 1: 0100007F:2328 00000000:0000 0A 00000000:00000000 00:00000000 > 00000000 500 0 25307310 1 ffff880134471700 3000 0 0 2 -1 > > None of the TCP sockets I know to exist seem to work - they all fail > with that error. Odd, which kernel do you have? You might want to "modprobe inet_diag" if you're on an older kernel. Or you can just comment-out the TCP code and use the UNIX sockets code. -- Eric Wong _______________________________________________ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying