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
   36   37   38   39   40   41   42   43   44   45   46