<div dir="ltr">I responded to Roberto privately about this at a bit more length, but in summary: my experiences with a large client attempting to use ELB to elastically balance load were a continuous slow motion clown car train wreck, and truly any solution is better; but in particular, haproxy is very stable under load, is radically more configurable than ELB, radically more informative, and you don't have to open a ticket with haproxy in order for it to pretend to work properly.<div><br></div><div>F.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 25, 2015 at 7:56 AM, Fred Hebert <span dir="ltr"><<a href="mailto:mononcqc@ferd.ca" target="_blank">mononcqc@ferd.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The ELB <i>will</i> need prewarming, otherwise, only a long sustained period of activity will force it to auto-scale up. I'm not sure what the exact time duration is, but it's far from instantaneous. ELBs can auto-scale to dozens of nodes per AZ but it's usually easier to just try and open a support ticket, ask for prewarming along with the load (or concurrent connections) you expect to need to handle, and their team will help scale it up.<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, Feb 25, 2015 at 10:31 AM, Roberto Ostinelli <span dir="ltr"><<a href="mailto:roberto@widetag.com" target="_blank">roberto@widetag.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Thank you Geoff,<div>I'm actually seeing errors way before the 10 minutes.</div><div><br></div><div>To put it in perspective: without ELB I can connect 180,000 long-term connections in 1 minute.</div><div>With ELB, I get up to 7,000.</div><div><br></div><div>There's the whole "pre-warming" thing so I think this might be related: though I've been bashing it repeatedly and it really doesn't change anything.</div><div>So I'm trying to isolate why this isn't working as expected behind an ELB.<br></div><div><br></div><div>Any thought from anyone who has used ELB in their life? Better if Erlang-related obviously, this started as an Erlang question after all ;)</div><div><br></div><div>Best,</div><div>r.</div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 8:00 PM, Geoff Cant <span dir="ltr"><<a href="mailto:nem@erlang.geek.nz" target="_blank">nem@erlang.geek.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Looks like {cache_size, 0}. might be an option too.<br>
<br>
That said, ELBs don't change their IPs all that often. It takes ~10mins for scale events to happen (increase in requests before the ELB adds more nodes), so I wouldn't worry too much about getting dns results to expire every minute. I think it's more important that after resolving, if you connect and get some kind of error (connection refused, or an invalid ssl cert, or some other response that shouldn't be possible from your ELB) that your client re-resolves DNS before reconnecting. (i.e. the failure you're protecting against is a stale DNS result that's leading you to someone else's ELB)<br>
<br>
Cheers,<br>
-G<br>
<div><div><br>
> On 2015-02-24, at 08:26 , Roberto Ostinelli <<a href="mailto:roberto@widetag.com" target="_blank">roberto@widetag.com</a>> wrote:<br>
><br>
> I'm considering using the {cache_refresh, Time}. of inet_cfg:<br>
> <a href="http://www.erlang.org/doc/apps/erts/inet_cfg.html" target="_blank">http://www.erlang.org/doc/apps/erts/inet_cfg.html</a><br>
><br>
> Wouldn't this be a valid option?<br>
><br>
> Best,<br>
> r.<br>
><br>
> On Tue, Feb 24, 2015 at 4:52 PM, Roberto Ostinelli <<a href="mailto:roberto@widetag.com" target="_blank">roberto@widetag.com</a>> wrote:<br>
> Dear List,<br>
> I'm currently testing a system behind Amazon's ELB.<br>
><br>
> From their documentation:<br>
><br>
> "If clients do not re-resolve the DNS at least once per minute, then the new resources Elastic Load Balancing adds to DNS will not be used by clients. This can mean that clients continue to overwhelm a small portion of the allocated Elastic Load Balancing resources, while overall Elastic Load Balancing is not being heavily utilized".<br>
><br>
> I therefore need to ensure my clients re-resolve the DNS every minute or so. Is there a way to do so? I couldn't find anything in inet_res.<br>
><br>
> Thank you,<br>
> r.<br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>
</div></div><br></div></div><span class="">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>