_
Home
Features
News
Download
Roadmap
Management
Contributions
OpenSER License
Links
Contact Us
Related
EVENTS
OpenSER Summit 2008
OpenSER Pavilion 2008
VoIP Events
Past Events
SUPPORT
Documentation
Install
Mailing lists
Dokuwiki
Forum
VoIP Info
IRC Channel
DEVELOPMENT
SVN
Tracker
Project Page
Doxygen

Database fetch support Print

2006-07-14:

New introduced fetch support for database drivers enables management of huge number of location entries (>120 000) with no need of OpenSER compilation tunings.

Just few days after the last major release , new appealing feature was introduced in the development version.

Until now, when dealing with large number of subscribers, old OpenSER required tunings and recompilation to resize the private memory large enough so that all location records from database could be loaded. It was quite annoying because this private memory was used only once, at startup, afterwards most of it was not used at all by the SIP server, but it was allocated and no other application could use it.

The new features loads chunks of records, the size of the chunk being configurable and specific for the available private memory. The issue is now solved in OpenSER, allowing straightforward deployments for carrier grade platforms. This adds more value to the features introduced with the latest release that enabled geographic distribution/failover and load balancing.

For a better understanding of the old issue, below is technical description along with some test results ...

OpenSER allocates for each process it starts a chunk of private memory. The default is 1MB. This size is enough for processing a SIP message and all other tasks during run time. To load the location table with hundreds of thousands records, the internals of  OpenSER had to be tunned, then the application recompiled and reinstalled. As example, for 120 000 location records, if you run the SIP server with 32 processes and because of location table size, you would have to increase the private memory to 32MB, a total of 1GB would have been allocated just for private memory. But only one process required 32MB, the one which loaded the location table, and only once during OpenSER runtime: at startup.

From the tests, after loading about 4300 user location records, the 1MB private memory was exhausted and the SIP server didn't start. Using the new OpenSER feature, and the default OpenSER configuration (4 worker processes, each with 1MB of private memory, and 32MB share memory), more than 120 000 user location records were loaded with no hacking. The total system memory used was 39MB (7*1MB private + 32MB share; 7 = 1 main process + 1 FIFO process + 1 timer process + 4 worker processes). The old version required about 256MB (7*32MB private + 32MB share). The memory size would have increased dramatically if you enable TCP/TLS and used more worker processes.

At this moment, only MySQL driver in OpenSER has support for fetch capability. Soon, PostgreSQL and UnixODBC drivers will be updated. 

PayPal
Support This Project
FLASHNEWS

15 May 2008 

Version 1.3.2 of OpenSER has been released, including experinces and feedbacks from live operating platforms.....

Read more...

2008-05-06
- OPENSER Devel Guide available online ... 

Read more...
25 April 2008
First OpenSER teaching book  -"Building Telephony Systems with OpenSER"- is now available....
Read more...

2008-04-24
- new module available that allows direct connection to Oracle databases ...

Read more...

2008-04-07

- Post Facts from OpenSER Summit and Pavilion...

Read more...

2008-04-02
- social networking events during April to June 2008...

Read more...

2008-03-31
- OpenSER in the top of Open Source VoIP and reported to route billions of minutes per month... 

Read more...

 

.:: (C) 2005-2007 OpenSER. org::.