[asterisk-dev] Asterisk scalability
John Todd
jtodd at digium.com
Fri Feb 20 17:48:29 CST 2009
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.
Who has tried it? Speak up! Your experiences make you the one-eyed
man in this land of the blind.
JT
---
John Todd email:jtodd at digium.com
Digium, Inc. | Asterisk Open Source Community Director
445 Jan Davis Drive NW - Huntsville AL 35806 - USA
direct: +1-256-428-6083 http://www.digium.com/
More information about the asterisk-dev
mailing list