Page 41 - Asterisk™: The Future of Telephony
P. 41
If you are sure that you need to set up a distributed Asterisk system, you
will want to study the DUNDi protocol, Asterisk Realtime Architecture
(ARA), func_odbc, and the various other database tools at your dispos-
al. This will help you to abstract the data your system requires from the
dialplan logic your Asterisk systems will utilize, allowing a generic set
of dialplan logic that can be used across multiple boxes, thereby allow-
ing you to scale more simply by adding additional boxes to the system.
However, this is far beyond the scope of this book and will be left as an
exercise for the reader. If you want a teaser of some tools you can use
for scaling, see Chapter 12.
A Set of Load Test Results
Joshua Colp was able to produce the results in Table 2-2 on an AMD Athlon64 X2 4200
+ with 1 GB RAM and 80 GB SATA hard drive, testing with the default scenario in
the SIPp application: a simple call setup, Playback() an audio file, and Wait() a short
time. Notice the massive savings in CPU utilization while reading data from the RAM
disk versus the hard drive. This could be interpreted as the CPU waiting for data to
process before delivering it to the requesting channel. However, this is just a simple
test and in no way reflects the amount of calls your system will be able to handle. You
are encouraged to load test your own system to determine the number of simultaneous
calls that can be handled utilizing your dialplan and combination of applications.
Table 2-2. Sample test results for SIPp default scenario using simple Wait() and Playback()
application; SIPp echoed media back to Asterisk
Simultaneous calls 330 330 550
CPU utilization 149% 14.8% 57.6%
Load average 49 25 60
Storage Hard drive RAM disk RAM disk
Server Hardware Selection
The selection of a server is both simple and complicated: simple because, really, any
x86-based platform will suffice, but complicated because the reliable performance of
your system will depend on the care that is put into the platform design. When selecting
your hardware, you must carefully consider the overall design of your system and what
functionality you need to support. This will help you determine your requirements for
the CPU, motherboard, and power supply. If you are simply setting up your first
Asterisk system for the purpose of learning, you can safely ignore the information in
this section. If, however, you are building a mission-critical system suitable for deploy-
ment, these are issues that require some thought.
Server Hardware Selection | 13