Erick Perez
2006-Jan-12 13:05 UTC
[Asterisk-Users] dimensioning: Where is the CPU vs Asterisk load table
Hi, is there any good calculator/table/reference about proper dimensioning? I read the wiki and they basically say "xx users run fine in yy hardware" http://www.voip-info.org/tiki-index.php?page=Asterisk+dimensioning. SO far I read that: -Run up to 4 E1s per CPU (which one? an i386 or a dual core? -it is very CPU intensive to do transcoding. Try to minimize it. -you can help the CPU by using DSP-based boards or optimized boards. -Lots of RAM is good too. (like 512MB or 8 GB?). -A Front Side Bus of 800mhz is also good. -disable HT on Intel CPUs. -Use Ram disk to avoid some I/O bottlenecks specially on voicemail (hence, deploy more RAM). -two single core CPUs better than one dual core CPUs??. -And the most important I read was: Keep load under 5 in single CPUs and 10 in dual CPUs (didn't mention dual cores in the article). Im not sure If Im asking properly, basically in this asterisk-heavy-load-learning stage, I want to know how to calculate computer needs based on customer needs. (i've only done 5 to 50 extens, and up to 2 E1) And yes, the need comes from a potential customer that is a Hotel with 450 extensions (rooms) and 125 more ext. (employees) making calls internally, outbound, inboud, voicemail,fax,cell phones, etc. So far, shame on me, I have no idea where to start in terms of equipment. Or I can go out there and buy a 20k machine(s) to run 4or5 E1s....It will run, but I will never learn why. thanks, -- ------------------------------------------- Erick Perez Linux User 376588 http://counter.li.org/ (Get counted!!!) Panama, Republic of Panama
Tzafrir Cohen
2006-Jan-13 03:33 UTC
[Asterisk-Users] dimensioning: Where is the CPU vs Asterisk load table
On Thu, Jan 12, 2006 at 03:05:15PM -0500, Erick Perez wrote:> Hi, is there any good calculator/table/reference about proper dimensioning? > I read the wiki and they basically say "xx users run fine in yy hardware" > http://www.voip-info.org/tiki-index.php?page=Asterisk+dimensioning. > > SO far I read that: > -Run up to 4 E1s per CPU (which one? an i386 or a dual core?This is just too general to be true. A dual-CPU PIII monster of a number of years ago is pathertic cmpared to a single 3GHz P4.> -it is very CPU intensive to do transcoding. Try to minimize it. > -you can help the CPU by using DSP-based boards or optimized boards.Up to a point. Normally it will be cheaper to just throw in more CPU power.> -Lots of RAM is good too. (like 512MB or 8 GB?).Depending on the task. Lots of RAM helps if you have much IO.> -A Front Side Bus of 800mhz is also good.This follows the "get a fast machine" rule.> -disable HT on Intel CPUs. > -Use Ram disk to avoid some I/O bottlenecks specially on voicemail > (hence, deploy more RAM). > -two single core CPUs better than one dual core CPUs??. > -And the most important I read was: Keep load under 5 in single CPUs > and 10 in dual CPUs (didn't mention dual cores in the article). > > Im not sure If Im asking properly, basically in this > asterisk-heavy-load-learning stage, I want to know how to calculate > computer needs based on customer needs. > (i've only done 5 to 50 extens, and up to 2 E1)That can probably be easily handled by the typical computer you buy on on any shop. Speed is not your main issue. Make sure the system is relieble. -- Tzafrir Cohen | tzafrir@jbr.cohens.org.il | VIM is http://tzafrir.org.il | | a Mutt's tzafrir@cohens.org.il | | best ICQ# 16849755 | | friend
Simone Cittadini
2006-Jan-13 04:00 UTC
[Asterisk-Users] CPU load (was: dimensioning: Where is the CPU vs Asterisk load table)
Erick Perez ha scritto:> >-And the most important I read was: Keep load under 5 in single CPUs >and 10 in dual CPUs (didn't mention dual cores in the article). > > > >That seemed to me a lot, so i googled around a little trying to understand the true meaning of those numbers : I'll sum up here what I've found, sparing you the formulae (look for "linux load average" "neil gunther") First of all the sampling of cpu load gives more weight to recent samples, so is better to look at the third value, average in the last 15 minutes, without being scared by high "punctual" values. Following "what the gurus says" the value should be kept below 3, or below the number of cpus, given what we are measuring (the number of process ready and waiting to be executed), those values means to me "a rule of thumb" and "make no one wait to do his job". It's not a lot of meaning, is it ? What I suppose we want to say is "when I start hearing the calls bad ?", like gamers don't care about FPS but want to know "which graphic card I have to buy to frag aliens smoothly ?". I'm not a C programmer so I don't know asterisk internals, what I'll say now maybe is totally nonsense, I leave the sensate replies to the community. If I have an asterisk process waiting, is sensate to state that if it waits too long, when his turn comes he'll drop the packets as the timestamp on them is too old and sound quality will start decreasing ? If this is the case, isn't the important measure not "how many are waiting" but "how long are they waiting" ? Since the upper bound to load should be "low enough so they don't have to drop" . (as a fast reply I can say that I made some calls while my dual 3.0 Ghz was under load 5, and they sounded good, alaw no transcoding)