You can try out in-memory nosql db named tarantool (http://tarantool.org/)
with replication functionality, which suports memcached protocol.
вторник, 5 марта 2013 г., 13:36:55 UTC+4 пользователь Oleksandr Drach
написал:
>
> Dear memcached community!
>
> I want to transfer all my data from one m
Some little bit changes:
Using the fact that dispatcher keep balance between threads while
dispatch new connections, we can move out freelist into conn_queue
without any problem with unbalanced size of free items on each
conn_queue. Also I eliminate tailing "while .. free" code in cq_push
in my pre
--- thread.c.orig 2010-04-03 11:07:16.0 +0400
+++ thread.c2010-08-18 13:03:50.0 +0400
@@ -11,7 +11,8 @@
#include
#include
-#define ITEMS_PER_ALLOC 64
+#define CACHE_LINE_SIZE 64
+#define ITEMS_PER_ALLOC 256
/* An item in the connection queue. */
typedef struct conn
I suggest you to eliminate taking of the lock on cqi_freelist.
In order to it we should done all work on cqi_freelist by one thread
-- dispatcher thread in memcached.
I made some changes in queue code, including improvements for cache
line.
It will work on any platform.
There are patch file (diff -
I found in thread.c:109
pthread_cond_signal(&cq->cond);
without any waiting for that condition variable.
I don't know, will it helpful if you eliminate using it.