wonderful work team.

I will test kannel with radis support.


--
regards,

abdul basit | p: +92 32 1416 4196 | o: +92 30 0841 1445


On Mon, Jan 6, 2014 at 4:10 AM, Stipe Tolj <[email protected]> wrote:

> Am 10.10.2011 10:38, schrieb Toby Phipps:
>
>> Hi All,
>>
>> I've completed the implementation a Redis (www.redis.io
>> <http://www.redis.io>) database driver for DLR storage and for sqlbox
>>
>> submission/result queueing. It's running through a multi-million message
>> test batch now and looks good both performance-wise and leak-wise. I'll
>> be moving it to a production environment in the next few days, but
>> wanted to start the process to submit the code for merge.
>>
>> It's showing considerable performance advantages over
>> MySQL/InnoDB/Percona/XtraDB, especially with the database and kannel
>> running on the same box. I'll submit some actual throughput comparisons
>> once I've finished all the benchmarking, but at the moment I'm seeing
>> just under 900 SMS/sec concurrently with 1000 DLR/sec on a Core i7 CPU
>> with full DLR storage/tracking. One of the key benefits is that Redis
>> supports a blocking queue PUSH/POP mechanism that completely removes the
>> need for high-frequency polling for SMS and DLRs.
>>
>> The code is up-to-date with the latest svn revision, and other than a
>> minor change to the core (passing down use_dst during DLR creation) it's
>> impact free. I've updated the kannel users guide with the appropriate
>> new section, and am working on getting the toolchain installed to do the
>> same for sqlbox's users guide.
>>
>> Some questions:
>>
>> 1. What's the preferred way to submit multiple-file patches? In this
>> case I've changed 10+ files. Attach patches for all to a single email?
>> Tar them up and attach? Provide a URL where they can be downloaded from?
>> 2. What's the preferred patch format? SVN diff? Linux diff?
>> 3. I have enabled support for Redis both in Kannel and in sqlbox. Submit
>> them separately or jointly?
>> 4. I've enhanced sqlbox to enable passing of priority via the DB. Submit
>> this separately?
>> 5. The sqlbox implementation depends on a JSON encoding/decoding engine
>> since Redis requires some form of serialization for its queue
>> management. I've chosen the MIT licensed Jansson library
>> (http://www.digip.org/jansson/) due to its performance, simplicity and
>> open license. Any issues making this a dependency for Redis-enabled
>> sqlbox? I've updated the configure.in appropriately with a
>> --with-jansson-dir argument.
>>
>
> Hi Toby,
>
> thanks a lot for your work on the Kannel Redis support. We appreciate your
> contribution. I have just committed to svn:
>
> 2014-01-06  Stipe Tolj  <stolj at kannel.org>
>     * configure[.in]: implement --with-redis option to support Redis.
>     * gw-config.h.in: add HAVE_REDIS macro definition.
>     * doc/examples/dlr-redis.conf: Redis config example.
>     * doc/userguide/userguide.xml: adding Redis support documentation.
>     * gw/dlr_p.h: extending the dlr_entry struct to hold information if
>       we used the destination address in the lookup process, also adds
>       the TTL variable to dlr_db_fields struct.
>     * gw/dlr_redis.c: implements Redis support as DLR storage backend.
>     * gw/dlr.[ch]: add 'ttl' config handling and extend dlr_add() prototype
>       to allow passing the optional argument for indicating the usage of
>       the destination address.
>     * gw/smsc/smsc_[cimd2|emi].c: add use destination address flag in
>       dlr_add() call. This is required since these two SMSC types don't
>       have a message ID returned by the SMSC.
>     * gwlib/cfg.def: adding config 'group = redis-connection' context, and
>       adding the 'ttl' directive for 'group = dlr-db' context.
>     * gwlib/dbpool_redis.c: implements Redis support for the database pool
>       abstraction layer.
>     * gwlib/dbpool.[ch]: adding Redis support to internal structures.
>     * gwlib/octstr.[ch]: adding function octstr_replace_first().
>     * gwlib/utils.c: add Redis version output in version_report_string().
>     This patchset was originally developed by Toby Phipps.
>     [Msg-Id: <[email protected]>]
>     [URL: https://github.com/tphipps/kannel-redis]
>     Thanks to Toby Phipps for the patchset, and Alejandro and Juan Nin
>     for raising the topic again.
>
> Kind Regards,
> Stipe
>
> --
> -------------------------------------------------------------------
> Kölner Landstrasse 419
> 40589 Düsseldorf, NRW, Germany
>
> tolj.org system architecture      Kannel Software Foundation (KSF)
> http://www.tolj.org/              http://www.kannel.org/
>
> mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
> -------------------------------------------------------------------
>
>

Reply via email to