[asterisk-users] IOPS required by Asterisk for Call Recording

Ron Wheeler rwheeler at artifact-software.com
Mon Jan 27 13:02:53 CST 2014


Can you get a reading of the total number of I/Os during your test? Peak 
IOPS?
That might tell you very quickly about the storage pattern that Asterisk 
uses.

Can you configure a RAM drive to see if disk is really the bottleneck. 
May need to add some more RAM memory to your configuration.

What is your network capacity? Usually one can write faster than the 
network can deliver - just to make sure that you are chasing the right 
bottleneck.

What happens at 80 calls to tell you that you have run out of IOPS?

Sorry for more questions than answers.

Ron



On 25/01/2014 12:26 AM, Amit wrote:
> Thanks for response.
> How do I derive the requirement? I need to size IO system to record multiple calls concurrently.
> I ran test with following configuration
> Quad Core Xeon with 4GB RAM
> 250GB SATA disk (No RAID)
> Linux (CentOS 5.9)
> Asterisk 1.8.20
>
> I failed to record more than 80 calls.
>
> If I run test with simple IVR, I achieved 400+ calls with same server.
> So write seem to be an issue.
> Is there any way to tune / optimize / configure for better write performance?
>
> I am not sure if I need to post this query on developers list? Please guide...
>
> Regards
> Amit Patkar
>
> Message: 1
> Date: Fri, 24 Jan 2014 11:46:39 -0400
> From: Mike<ispbuilder at gmail.com>
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> 	<asterisk-users at lists.digium.com>
> Subject: Re: [asterisk-users] IOPS required by Asterisk for Call
> 	Recording
> Message-ID:<52E28ADF.8020409 at gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> On 14-01-24 11:16 AM, Amit wrote:
>> If I assume that Asterisk will write data on disk every second for
>> each call, I will need disk array to support minimum of 500 IOPS.
>> Where as if Asterisk push data every 2 seconds, I can deal with array
>> supporting 250 IOPS.
>> But if I assume that Asterisk will write data on disk for every RTP
>> packet received, as and when received, I will need disk IO system with
>> approx 25000 IOPS assuming 20 ms RTP packet.
> You're assuming that asterisk will perform an fsync() after each write.
> If asterisk writes without an fsync after each write, then the OS will
> schedule writes intelligently based on RAM/disk IO available rather than
> scheduling each one as a separate write.
>
> Looking at the code for ast_writestream() there doesn't appear to be an
> fsync() type call after each write, but someone more familiar with the
> internals of Asterisk would be better able to verify that.

-- 
Ron Wheeler
President
Artifact Software Inc
email:rwheeler at artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20140127/1f5f74f2/attachment.html>


More information about the asterisk-users mailing list