[asterisk-dev] Asterisk scalability
Michiel van Baak
michiel at vanbaak.info
Sat Feb 21 04:17:41 CST 2009
On 15:48, Fri 20 Feb 09, John Todd wrote:
>
> On Feb 20, 2009, at 12:00 PM, Kevin P. Fleming wrote:
>
> > John Todd wrote:
> >
> >> Hypothetical: My big router receives a 10gpbs ethernet from "the
> >> Internet". Then, that router has three 1gbps interfaces that feed
> >> into my Asterisk box (which has three NICs.) Thus, all of the
> >> traffic
> >> appears to come from the MAC address on the distant side of the
> >> 10gbps
> >> link. I could generate the traffic from a zillion different
> >> endpoints, so hopefully UDP port hashing would work. Would this work
> >> appropriately for spreading load on 802.3ad?
> >
> > If your 'big router' has three NICs connected to you, it will have
> > three
> > MAC addresses for those NICs, and that's what you will see on your
> > incoming packets, not the MAC address of the router on the other side.
> >
> > If your 'big router' is actually a switch (which I think is what you
> > really meant), then your logic is correct.
>
>
> I had assumed we were talking about seeing MAC addresses from the
> perspective of the device doing the load sharing on packets that were
> inbound from the Internet towards the Asterisk server. That is the
> device that would have to "share" those packets across the three NICs
> of the Asterisk server, and therefore would have to come up with some
> algorithm to distribute evenly (or at least predictably) the traffic
> to the three interfaces. Return traffic from the Asterisk server to
> the router/switch is the problem of the Asterisk box, but it looks
> like there are lots of knobs to turn on on the open-source side of the
> world with 802.3ad implementations that make that possible.
>
> However, I'm speaking out of turn. If others here think that 802.3ad
> works well and can "share" load across multiple NICs that are on a
> single host (versus just doing failover) then I'll believe them, but I
> haven't heard a "Yes absolutely it can be done" reply. I strongly
> suspect that it does in fact work, but I've just never set it up to
> learn about the devil in the details. It seems like 802.3ad would be
> a good way to share load across multiple NICs to reduce IRQ contention
> on the PCI backplane with high packet counts, and it also seems pretty
> universally supported by most mid-to-high end router/switch gear as
> well as Linux/BSD kernels. It has the added benefit of reducing some
> single wiring points of failure, but introduces complexity.
'bonding' as it's called in linux does work. I did not test if we can
handle the double ammount of calls, because the setups I did only handle
like 100 to 150 concurrent calls. But I can see on the interface level
the both nics in the bonding device have roughly handled the same
ammount of rx and tx packets.
The two interfaces are connected to a cisco 3500 switch, and I did not
configure the switch so I have no idea what knobs you have to turn
there.
>
> Who has tried it? Speak up! Your experiences make you the one-eyed
> man in this land of the blind.
--
Michiel van Baak
michiel at vanbaak.eu
http://michiel.vanbaak.eu
GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x71C946BD
"Why is it drug addicts and computer aficionados are both called users?"
More information about the asterisk-dev
mailing list