> The Java application need Get() once and set() once for each changed pair, it > will be 50M*40%*2=4M qps (query per second) . > > We tested memcached - which shows very limited qps. > Our benchmarking is very similar to results showed > herehttp://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html > > 10,000 around qps is the limitation of one memcached server.
Just to be completely clear; "10,000 qps" in your test is the limit of *one java thread client*, the limit of the server is nowhere near that. If you started ten client threads, each doing gets/sets, you will likely get 100,000 qps. If you edit your java code and fetch 100 keys at once with multiget, then set 100 keys (using binary protocol or ASCII noreply for the sets), it will get even faster still. Then you do all the other stuff I said. I'd be surprised if you found any daemon that's faster than memcached though.
