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.6 required=5.0 tests=FREEMAIL_FROM, MSGID_FROM_MTA_HEADER,RP_MATCHES_RCVD,T_DKIM_INVALID shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: snacktime Newsgroups: gmane.comp.lang.ruby.unicorn.general Subject: Re: scaling unicorn Date: Tue, 22 Jun 2010 11:03:20 -0700 Message-ID: References: <20100622001632.GA10082@dcvr.yhbt.net> <20100622045346.GA23710@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 1277229813 7962 80.91.229.12 (22 Jun 2010 18:03:33 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 22 Jun 2010 18:03:33 +0000 (UTC) To: unicorn list Original-X-From: mongrel-unicorn-bounces@rubyforge.org Tue Jun 22 20:03:32 2010 Return-path: Envelope-to: gclrug-mongrel-unicorn@m.gmane.org X-Original-To: mongrel-unicorn@rubyforge.org Delivered-To: mongrel-unicorn@rubyforge.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=R4nqbTpI9IInKymafP+L6xvuXIBTAVlZ+g7Eg1VqkSw=; b=QGKi9uXH3ev73nbLL8pyL1bksQp37VzevpQUSSBWVn3jkzTY0j/Gppav/lJ80qbvsW wJln6pNC/vy7uF3IqxMAJ6l6JN0oG+J2/7F2l8CaEo4D+Ia+iieSbP8mLm9GPAUEkZeT lIOU1K7dwwtiDRybJKGPmAe3mZAi+WW7mywPk= 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; b=EVxz+pvqaxg+rJavsHVCGyEqgnAJAiG5NbAhnm11fuTOrHnXM1EAEjibDo57xNthKI W2wyLy+6zmMvstbAtzSGxOzhIo6EUp7D2uX3SPPz9MGo4K8n9qroCKNlssIKHNiBEQlS nmUTE1RJktgRpERg1apMHB67lmkfKdxDzu3QQ= In-Reply-To: <20100622045346.GA23710@dcvr.yhbt.net> 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:600 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OR7on-0005H4-Oo for gclrug-mongrel-unicorn@m.gmane.org; Tue, 22 Jun 2010 20:03:30 +0200 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id D2B80185835D; Tue, 22 Jun 2010 14:03:26 -0400 (EDT) Received: from mail-iw0-f178.google.com (mail-iw0-f178.google.com [209.85.214.178]) by rubyforge.org (Postfix) with ESMTP id B063D185834E for ; Tue, 22 Jun 2010 14:03:21 -0400 (EDT) Received: by iwn37 with SMTP id 37so2141624iwn.23 for ; Tue, 22 Jun 2010 11:03:21 -0700 (PDT) Received: by 10.231.125.145 with SMTP id y17mr7025412ibr.85.1277229800933; Tue, 22 Jun 2010 11:03:20 -0700 (PDT) Received: by 10.231.148.148 with HTTP; Tue, 22 Jun 2010 11:03:20 -0700 (PDT) >> Somewhat related -- I've been meaning to discuss the finer points of >> backlog tuning. >> >> I've been experimenting with the multi-server socket+TCP megaunicorn >> configuration from your CDT: >> http://rubyforge.org/pipermail/mongrel-unicorn/2009-September/000033.html So I'm in the position of launching a web app in a couple of weeks that is pretty much guaranteed to get huge traffic. I'm working with ops people who are very good but this is not how they would normally setup load balancing and scale out. I'm having a meeting with our network ops lead tomorrow to talk about this. I like the idea of this approach, it seems like it gives you more fine grained control over how much load you put on individual servers as well as how individual requests are handled. But I'm not too keen on using something like this at scale when we simply don't have the chance to test it out at a smaller scale. I have yet to see anyone with this setup running at scale. That of course doesn't mean it's not a great idea, only that I doubt our ops guys are going to want to be the first. They are already overworked as it is:) So assuming we will scale out the 'normal' way by not having a short backlog, any info on how to manage that? Should we control the backlog queue in nginx (not sure exactly how I would do that) or via the listen backlog? I was looking around last night and couldn't find a way to actually poll the listen backlog queue size. Also, any ideas on how you would practically manage this type of load balancing setup? Seems like you would have some type of 'reserve' cluster for requests that hit the listen backlog, and when you start seeing too much traffic going to the reserve, you add more servers to your main pool. How else would you manage the configuration for something like this when you are working with 100 - 200 servers? You can't be changing the nginx configs every time you add servers, that's just not practical. Chris _______________________________________________ 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