2012-04-18 22 views
1

我选择Spymemcached作为memcached java客户端,因为我发现它的设置方法没有回复,似乎比其他memcached客户端快十倍。如何才能实现memcached客户端和服务器之间的280qps?

我的代码:

memcachedClient.set(键,0,值);代替

memcachedClient.set(键,0,值)获得();

我确实关心时间成本远远超过了设置的结果。

现在看起来好多了,但memcached客户端可能会发生内存泄漏。

当我在使用memcached服务器的同一台计算机上运行4时,它针对每个memcached客户端进程的2G内存任务。 8核心CPU和4G内存几乎完全消耗。本地网络接口“lo”仅约为每秒0.2Gbits。

如何降低CPU和内存消耗率,甚至加速memcached qps。

我需要从memcached客户端280k qps,每个qps发送50B密钥长度和500B值长度的数据。现在我尝试在本地主机上启动memcached客户端,以避免网络接口带宽的限制。有四个memcahced进程,每个运行6个线程,现在我几乎可以实现180qps,这远离我的目标,CPU和内存变成了限制。而且我还需要在包含真正的Java memcached客户端的同一台计算机上运行风暴。所以我当然不能让memcached客户端占用核心资源。

如何减少cpu和内存消耗,或者如何在一台计算机上的几个Java memcached客户端和分布式memcached服务器之间实现280qps。

get和set都占用一半的查询。也许我可以尝试getMulti来每次获取50个键。但问题仍然存在。

期待您的回复。谢谢!

回答

相关问题