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 > ------------------------------------------------------------------- > >
