业务场景要求:
50M键值对,每个2K,总共100G内存。
大约 40% 的 key-value 会在一秒钟内发生变化。
对于每个更改的对,Java 应用程序需要一次 Get() 和一次 set(),它将是 50M*40%*2=4M qps (query per second) 。
我们测试了 memcached——它显示了非常有限的 qps。
我们的基准测试与此处显示的结果非常相似
http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html
10,000 左右 qps 是一台 memcached 服务器的限制。
这意味着我们的业务场景需要 40 个分区的 memcached 服务器——这看起来非常不经济和不切实际。
根据您的经验,就 memcached 的设计性能而言,基准测试是否准确?
对调整 memcached 系统(客户端或服务器)有什么建议吗?
或者任何其他能够更经济地满足要求的替代内存存储系统?
提前谢谢了!