I'm coding up something that I think might be useful for memcached.  It
isn't very intrusive, but what is the correct branch I should be basing it
on?  I should probably get on IRC and chat with you guys more.

On Thu, Mar 12, 2009 at 3:09 PM, Toru Maesaka <tmaes...@gmail.com> wrote:

>
> Awesome! thanks big time for getting this out.
>
> One thing I'd like to add to Dustin's message is the space
> efficiency option ("-C") for those that don't take advantage of
> CAS. You can read more about this at:
>
> - http://torum.net/2008/12/more-memcached-space/
> - http://blogs.sun.com/trond/entry/not_using_cas_disable_them
>
> For those that are too busy to visit the above URLs, in brief you
> can save 8 bytes per item if you start memcached with the -C
> option. Do note though, that you're disabling CAS so you won't
> be able to take benefit of CAS operations on that instance anymore.
>
> For those that don't care, well... happy caching! you can boost
> the space efficiency of memcached and cache more data :)
>
> Cheers,
> Toru
>
> On Thu, Mar 12, 2009 at 7:46 AM, Dustin <dsalli...@gmail.com> wrote:
> >
> >
> >  We've just released memcached beta 1.3.2.  It's available for
> > download immediately at the google code site:
> >
> >  http://code.google.com/p/memcached/downloads
> >
> >  There is one known bug (UDP support is somewhat lacking), but it was
> > recently discovered by client authors attempting to implement the
> > protocol, so I think we're good.
> >
> >  We have quite a bit of confidence in this release as we've probably
> > spent more effort testing it than implementing new features, but I
> > wouldn't recommend you immediately switch all of your production sites
> > over.  I would, however, hope that you'd ignore my recommendations and
> > do it anyway (or at least, test it really, really hard).
> >
> >  Release notes are below.  They're also in beta, so if something's
> > wrong (you're not credited properly, or an important new feature was
> > overlooked), be sure to let us know so we can get it right before the
> > next release.
> >
> >                  Memcached 1.3 Beta 2 Release Notes
> >                  ==================================
> >
> > Date: 2009-03-11 Wed
> >
> >
> > Table of Contents
> > =================
> > 1 New Features
> >    1.1 Binary Protocol
> >        1.1.1 Client Availability
> >    1.2 Performance
> >    1.3 Stats
> >        1.3.1 New Stats
> >        1.3.2 More Granular Stats
> >        1.3.3 Removed stats
> > 2 Bug Fixes
> > 3 Development Info
> > 4 Feedback
> > 5 Contributors
> >
> >
> > 1 New Features
> > ~~~~~~~~~~~~~~~
> >
> > 1.1 Binary Protocol
> > ====================
> >
> > A new feature that brings new features.  We now have goodness like
> > CAS-everywhere (e.g. delete), silent, but verifiable mutation
> > commands, and many other wonders.
> >
> > Note that the original protocol is *not* deprecated.  It will be
> > supported indefinitely, although some new features may only be
> > available in the binary protocol.
> >
> > 1.1.1 Client Availability
> > --------------------------
> >
> > Many clients for the binary protocol are available.
> >
> > * C
> >
> >  libmemcached supports just about anything you can do with a
> > memcached
> >  protocol and is the foundation for many clients in many different
> >  languages (which you can find linked from the project page).
> >
> >  Project page:  [http://tangent.org/552/libmemcached.html]
> >
> > * Java
> >
> >  spymemcached has very good text and binary protocol support over
> > IPv4
> >  and IPv6 with a quite comprehensive test suite.
> >
> >  Project page:  [http://code.google.com/p/spymemcached/]
> >
> > * Protocol Spec
> >
> >  NIH problem?  Go write your own client.  :)
> >
> >  [http://cloud.github.com/downloads/dustin/memcached/protocol-
> > binary.txt]
> >
> >
> > 1.2 Performance
> > ================
> >
> > Lots of effort has gone into increasing performance.
> >
> > Facebook-inspired contention reduction with per-thread stat collection
> > and the Facebook connection dispatch and thread starvation prevention
> > contributions helped our scalability.
> >
> > Lock analysis also showed us that we had quite a bit of contention on
> > hash table expansion which has been moved into its own thread, greatly
> > improving the scalability on multicore hardware.
> >
> > A variety of smaller things also shook out of performance testing and
> > analysis.
> >
> > 1.3 Stats
> > ==========
> >
> > There are several new stats and some new ways to look at older stats.
> >
> > 1.3.1 New Stats
> > ----------------
> >
> > * Delete
> >
> >  The global stats now contain statistics on deletion.
> >
> >  delete_hits refers to the number of times a deletion command was
> >  issued which resulted in a modification of the cache while
> >  delete_misses refers to the number of times a deletion command was
> >  issued which had no effect due to a key mismatch.
> >
> > * Incr/Decr
> >
> >  Incr and decr each have a pair of stats showing when a
> >  successful/unsuccessful incr occurred.  incr_hits, incr_misses,
> >  decr_hits, and decr_misses show where such mutations worked and
> > where
> >  they failed to find an existing object to mutate.
> >
> > * CAS
> >
> >  CAS stats are tracked in three different ways:
> >
> >  + cas_hits
> >
> >    Number of attempts to CAS in a new value that worked.
> >
> >  + cas_misses
> >
> >    Number of attempts to CAS in a value where the key was not found.
> >
> >  + cas_badval
> >
> >    Number of attempts to CAS in a value where the CAS failed due to
> > the
> >    object changing between the gets and the update.
> >
> > * slab class evicted time
> >
> >  Per slab class, you can now see how recently accessed the most
> > recent
> >  evicted data was.  This is a useful gauge to determine eviction
> >  velocity on a slab so you can know whether evictions are healthy or
> > if
> >  you've got a problem.
> >
> >
> > 1.3.2 More Granular Stats
> > --------------------------
> >
> > Where possible, stats are now tracked individually by slab class.  The
> > following stats are available on a per-slab-class basis (via "stats
> > slabs"):
> >
> >  * get_hits
> >  * cmd_set
> >  * delete_hits
> >  * incr_hits
> >  * decr_hits
> >  * cas_hits
> >  * cas_badval
> >
> > (misses are obviously not available as they refer to a non-existent
> > item)
> >
> > 1.3.3 Removed stats
> > --------------------
> >
> > "stats malloc" and "stats maps" have been removed.
> >
> > If you depended on these commands for anything, please let us know so
> > we can bring them back in a more maintainable way.
> >
> > 2 Bug Fixes
> > ~~~~~~~~~~~~
> >
> >  * Build fixes on ubuntu (gcc and icc) and FreeBSD
> >  * bad interaction with cas + incr (bug 15)
> >  * setuid failures are reported properly at daemonization time
> >  * decr overflow causing unnecessary truncation to 0 (bug 21)
> >  * failure to bind on Linux with no network (i.e. laptop dev)
> >  * some memcached-tool cleanup
> >
> > 3 Development Info
> > ~~~~~~~~~~~~~~~~~~~
> >
> > We've added a bunch of tests and new code coverage reports.
> >
> > All included code in this release has been tested against the
> > following platforms (using the in-tree test suite):
> >
> >  * ubuntu 8.10 (64-bit, both gcc and icc)
> >  * ubuntu 8.04 (32-bit)
> >  * OS X 10.5 (ppc and intel)
> >  * OpenSolaris 5.11 x86 (with and without dtrace)
> >  * FreeBSD 7 x86
> >
> > 4 Feedback
> > ~~~~~~~~~~~
> >
> > Please try this version.  Make it suffer.  Report feedback to the list
> > or file bugs as you find them.
> >
> >  * Mailing List:  [http://groups.google.com/group/memcached]
> >  * Issue Tracker:  [http://code.google.com/p/memcached/issues/list]
> >  * IRC:  #memcached on freenode
> >
> > 5 Contributors
> > ~~~~~~~~~~~~~~~
> >
> > The following people contributed to this release since 1.2.6.
> >
> > Note that this is based on who contributed changes, not how they were
> > done.  In many cases, a code snippet on the mailing list or a bug
> > report ended up as a commit with your name on it.
> >
> > Note that this is just a summary of how many changes each person made
> > which doesn't necessarily reflect how significant each change was.
> > For details on what led up into a branch, either grab the git repo and
> > look at the output of `git log 1.2.6..1.3.2` or use a web view.
> >
> >  * Repo list:  [http://code.google.com/p/memcached/wiki/
> > DevelopmentRepos]
> >  * Web View: [http://github.com/dustin/memcached/commits/1.3.2]
> >
> >  104  Dustin Sallings
> >   49  Trond Norbye
> >   32  Toru Maesaka
> >   31  dormando
> >    8  Steve Yen
> >    7  hachi
> >    6  Aaron Stone
> >    6  Brian Aker
> >    4  Victor Kirkebo
> >    2  Ricky Zhou
> >    1  Jonathan Bastien-Filiatrault
> >    1  Evan Klitzke
> >    1  Eric Lambert
> >
> >
> >
>



-- 
"Be excellent to each other"

Reply via email to