[Serusers] SER Reports "out of memory"
Java Rockx
javarockx at gmail.com
Mon May 30 03:40:33 CEST 2005
Currently, usrloc is replicated via t_replicate() using db_mode=writeback.
However, our lazy-load patch would obsolete the need for t_replicate()
because we have multiple MySQL servers that are active-active so __all__
replication really occurs at the database layer rather than the SIP layer.
So in this situation, when a REGISTER message hits any SIP router, SER will
do the usual stuff that it currently does (excluding t_replicate), and when
it persists the user contact to MySQL, the database will replicate to the
other DB servers.
Then if a usrloc record is "looked-up" on any other SIP router and a match
is not found in cache, the usrloc code will query MySQL for the record,
which was replicated by MySQL.
By doing this we will have a "zero-delay" SER start time, regardless of the
number of records in the subscriber table and we also eliminate the
possiblity of t_replicate() sending a usrloc record to peer SIP routers
which didn't process the request.
Jiri, do you see any pitfalls with this school of thought.
Regards,
Paul
On 5/29/05, Jiri Kuthan <jiri at iptel.org> wrote:
>
> At 03:15 PM 5/29/2005, Java Rockx wrote:
> >Actually, a minute delay would be a bad thing because replicated usrloc
> records, using t_replicate() would not make it in to peer SER server caches
> when the server is starting up.
> >
> >Given this fact, and given the fact that most SER modules do not hash
> data upon server startup [like group.so, etc, etc] we are starting to see
> little value in caching usrloc. Our MySQL server is hit 12 times for an
> INVITE message and so complete caching of usrloc is of minimal performace
> gain.
>
> indeed.
>
>
> >Anyhow, we're not in process of modifying SER so that:
> >
> >* when ser starts up usrloc is "lazy-loaded"
> >* if a usrloc record is looked up in cache and is __NOT__ found, then
> MySQL will be queried. If found in MySQL then the usrloc record will be put
> in to cache for future lookups
> >
> >By doing these two things we should not have a problem we excessively
> large subscriber bases.
>
> Appears reasonable to me.
>
> Still -- with the way you are suggesting, CallID based load distribution,
> how
> do you replicate UsrLoc changes across all the servers?
>
> -jiri
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20050529/39500579/attachment.htm>
More information about the sr-users
mailing list