Dear Steve,<br>pl. add support for storing memcached FLATGS that all clients use!! <br>thanks a lot!!!!!!!!<br>mark<br><br><div><span class="gmail_quote">On 11/5/07, <b class="gmail_sendername">Steve Chu</b> &lt;<a href="mailto:stvchu@gmail.com">
stvchu@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Now replication is ready! You can achieve your HA and scale your
<br>application by multi-reading, and also get profit from amazing<br>performance (high-frequency writing and reading) that memcachedb<br>provided.<br><br>Memcachedb is not that *blocked* you think, with a transaction log buffer!
<br><br>We do a simple testing *AGAIN* on a Dell PowerEdge 2850 box that sets<br>20,000,000 records into memcachedb<br>with a 16 bytes key and 10 bytes value.<br><br>Simply start memcachedb with:<br>./memcachedb -p21211 -d -r -u root -H ./env1 -N -R 
<a href="http://127.0.0.1:31211">127.0.0.1:31211</a> -M<br>./memcachedb -p21212 -d -r -u root -H ./env2 -N -R <a href="http://127.0.0.1:31212">127.0.0.1:31212</a> -O<br><a href="http://127.0.0.1:31211">127.0.0.1:31211</a>
 -S<br><br>And here is a simple testing:<br><br>=================================================================<br>#include &lt;stdio.h&gt;<br>#include &lt;string.h&gt;<br>#include &lt;time.h&gt;<br>#include &quot;memcache.h
&quot;<br><br>int main(int argc, char **argv){<br>&nbsp;&nbsp;&nbsp;&nbsp;int ret = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;char key[32] = {0};<br>&nbsp;&nbsp;&nbsp;&nbsp;char val[32] = {0};<br>&nbsp;&nbsp;&nbsp;&nbsp;int n = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;time_t start;<br>&nbsp;&nbsp;&nbsp;&nbsp;time_t end;<br>&nbsp;&nbsp;&nbsp;&nbsp;struct memcache *mc = mc_new();<br>
&nbsp;&nbsp;&nbsp;&nbsp;mc_server_add4(mc, &quot;<a href="http://127.0.0.1:21211">127.0.0.1:21211</a>&quot;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;start = time(NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp;for (n=0; n&lt;20000000; n++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(key, &quot;%016d&quot;, n);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(val, &quot;%010d&quot;, n);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = mc_set(mc, key, strlen(key), val, strlen(val), 0, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;end =&nbsp;&nbsp;time(NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;time cost: %ld second\n&quot;, end - start);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;mc_free(mc);<br>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>}<br>
====================================================================<br><br>The total time cost is: 2506 second, the db file size is 1.6 GB.<br>It writes almost *8000* records per second to a master in a replicated group.
<br><br>Another testing case for reading:<br>======================================================================<br>#include &lt;stdio.h&gt;<br>#include &lt;string.h&gt;<br>#include &lt;time.h&gt;<br>#include &lt;stdlib.h
&gt;<br>#include &quot;memcache.h&quot;<br><br>int main(int argc, char **argv){<br>&nbsp;&nbsp;&nbsp;&nbsp;char *ret = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;char key[32] = {0};<br>&nbsp;&nbsp;&nbsp;&nbsp;int n = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;time_t start;<br>&nbsp;&nbsp;&nbsp;&nbsp;time_t end;<br>&nbsp;&nbsp;&nbsp;&nbsp;struct memcache *mc = mc_new();
<br>&nbsp;&nbsp;&nbsp;&nbsp;mc_server_add4(mc, &quot;<a href="http://127.0.0.1:21212">127.0.0.1:21212</a>&quot;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;start = time(NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp;for (n=0; n&lt;20000000; n++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(key, &quot;%016d&quot;, n);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret = mc_aget(mc, key, strlen(key));
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strlen(ret) != 10){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%s\n&quot;, ret);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(ret);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;end =&nbsp;&nbsp;time(NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;time cost: %ld second\n&quot;, end - start);
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;mc_free(mc);<br>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>}<br><br>======================================================================<br>The total time cost is: 1204 second.<br>It reads *16000+* records per second from a replicas.
<br><br>You can download it here:<br><a href="http://memcachedb.googlecode.com/files/memcachedb-0.1.0.tar.gz">http://memcachedb.googlecode.com/files/memcachedb-0.1.0.tar.gz</a><br><br>For more info, please visit: <a href="http://memcachedb.googlecode.com">
http://memcachedb.googlecode.com</a><br><br>--<br>Steve Chu<br><a href="http://stvchu.org">http://stvchu.org</a><br><br>--~--~---------~--~----~------------~-------~--~----~<br>You received this message because you are subscribed to the Google Groups &quot;memcachedb&quot; group.
<br>To post to this group, send email to <a href="mailto:memcachedb@googlegroups.com">memcachedb@googlegroups.com</a><br>To unsubscribe from this group, send email to <a href="mailto:memcachedb-unsubscribe@googlegroups.com">
memcachedb-unsubscribe@googlegroups.com</a><br>For more options, visit this group at <a href="http://groups.google.com/group/memcachedb?hl=en">http://groups.google.com/group/memcachedb?hl=en</a><br>-~----------~----~----~----~------~----~------~--~---
<br><br></blockquote></div><br>