Hi, comments inline...
Am 10.10.2011 um 10:38 schrieb Toby Phipps: > Hi All, > > I've completed the implementation a Redis (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? one patch should be one changeset, means: it should compile and it should be completed feature/bugfix > 2. What's the preferred patch format? SVN diff? Linux diff? unified diff, svn diff is also ok... > 3. I have enabled support for Redis both in Kannel and in sqlbox. Submit them > separately or jointly? yes, please split it because sqlbox is extra project > 4. I've enhanced sqlbox to enable passing of priority via the DB. Submit this > separately? see (1), yes.. one patch for one changeset > 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. we trying to avoid any dependency but if it's configurable with configure and license is not clash with kannel's one then it should be ok. > > Thanks, > Toby. > > -- > Toby Phipps > nexmedia Pte Ltd > +65-93370027
