Hi, all,

I am glad to announce that MemcacheDB 1.2.0 beta is release!

This version has supported the new 'append/prepend' command that is
defined in memcache protocol. Also some replication code improved, and
many bug fixed. A new benchmark suit and top like monitor is shipped.

Have a try with 'tools/mcben.py' to get your own performance benchmark
in your environment. In my environment, the performance of MemcacheDB
is very close to Memcached, but benefits from a persistent storage.

Please download from: http://code.google.com/p/memcachedb/downloads/list

*Notice*: If you are using replication of MemcacheDB 1.1.0, please
upgrade to this version.

*ChangLog* since last release:

2008-10-16 Version 1.2.0-beta released

2008-10-14 Steve Chu <[EMAIL PROTECTED]>
 * a new unittest suit 'mdbtest.py' is added
 * a new benchmark suit 'mcben.py' is added, now you can get the
benchmark in your environment
   and find out how fast MemcacheDB can run.

2008-10-08 Steve Chu <[EMAIL PROTECTED]>
 * lots of statistics code clean up; stats command adjusted for
better rendering; now more replication statistics info is provided.
 * more compact and verbose message for logging
 * lots of replication code clean up for more reliable electing, a
new option "-n" is added that allows user to customize the votes of
electing.
 * "memcache.py" is nearly patched for recent changes on private commands.

2008-09-04 Steve Chu <[EMAIL PROTECTED]>
 * New option '-e' to set percent of the pages in the cache that
should be clean, used for memp_trickle call(only available when '-T'
is presented).

2008-09-03 Steve Chu <[EMAIL PROTECTED]>
 * Replace the database type setting option '-T' with '-B'
 * Now '-T' has new meaning that it fires a separate thread to do
memp_trickle every xx seconds.
   This feature makes the memory pool more effective by reducing too
much frequent pages swapping.

2008-09-01 Steve Chu <[EMAIL PROTECTED]>
 * Now 'append' and 'prepend' commands are supported.
 * Merge bugfix code from Memecached community.
 * lots of refactors for better implementation and a bit code tuning.

Use 'tools/mcben.py -h' to see how to use the benchmark suit, and use
'tools/mdbtop.py -h' to find out how to use the monitor.

Below are benchmark result I got from a dell 2950 4G/2core box:

MemcacheDB:
----------------------
Server name: 127.0.0.1:21201
Command: SET
Thread number: 4
Requests per thread: 1000000
Value Length: 100 bytes
Avg. time cost per thread: 339.276669 seconds
Throughout: 1335 kbytes/sec
Requests per second: 11789 req/sec
Time cost per request: 0.084819 ms
Total requests: 4000000
Total errors: 0

Server name: 127.0.0.1:21201
Command: GET
Thread number: 4
Requests per thread: 1000000
Value Length: 100 bytes
Avg. time cost per thread: 348.257951 seconds
Throughout: 1301 kbytes/sec
Requests per second: 11485 req/sec
Time cost per request: 0.087064 ms
Total requests: 4000000
Total errors: 0

Memcached:
-------------------
Server name: 127.0.0.1:11211
Command: SET
Thread number: 4
Requests per thread: 1000000
Value Length: 100 bytes
Avg. time cost per thread: 324.060816 seconds
Throughout: 1398 kbytes/sec
Requests per second: 12343 req/sec
Time cost per request: 0.081015 ms
Total requests: 4000000
Total errors: 0

Server name: 127.0.0.1:11211
Command: GET
Thread number: 4
Requests per thread: 1000000
Value Length: 100 bytes
Avg. time cost per thread: 351.367676 seconds
Throughout: 1289 kbytes/sec
Requests per second: 11384 req/sec
Time cost per request: 0.087842 ms
Total requests: 4000000
Total errors: 0

You will find this performance result is worse than what the official
site said, yes, I guess it is caused by 'memcache.py' and the thread
model of python. Because that benchmark was using the libmemcached and
multiple process model and also on a different box.

Any bugs and feedbacks are welcome and appreciated:)

--
Steve Chu
http://stvchu.org

Reply via email to