[asterisk-users] Asterisk scalability

Ryan Burke burke at tailorhosting.com
Wed Jan 23 11:51:01 CST 2008


>
> Hello,
>
> I wonder how Asterisk scales when we increment the Core's or CPU's of
> one computer.
>
> I see that Asterisk is only one process (I guess that it uses threads).
> But because Asterisk is only one process, this process is always
> executed in the same CPU. So we can have a 8 Cores server, with one Core
> running Asterisk, another Core running operating system stuff/other
> small daemons and 6 idle cores.
>
> Is this correct? Why not?
>
> If this is correct, increasing CPU number of Asterisk server box would
> not increase the performance.
>
> I don't see any other process that could use other Cores (like
> transcoding processes, executing dialplan, etc.)
>
> Thank you for your information,
>
> --
> Carles Pina i Estany		GPG id: 0x8CBDAE64
> 	http://pinux.info	Manresa - Barcelona

Carles,

Asterisk is one process, but as you mentioned multi-threaded as well.
Because it is multi-threaded it can run on multiple cores/CPU's at a time.
I don't know the internals of Asterisk that well so I can't site specific
examples, but I know that there are some scalability bottlenecks people
are looking at, specifically with the IAX protocol and how the threads
send/receive packets.

I'm sure that an Asterisk developer can chime in and give several examples
of how Asterisk uses its threads to increase scalability. That said, there
will be a point where the number of core/CPU's won't be the bottleneck so
adding more won't help anything.

Ryan




More information about the asterisk-users mailing list