facebook使用memcached800个服务器来cache28个T的数据
facebook的工程师在调优memcached过程中从TCP移到UDP以减少网络流量(这是个老话题了,可以专门讨论:)),但是却发现UDP在Linux上性能下降的很厉害,原因是多个线程向一个socket传送数据造成锁的竞争。
另外Linux的内核对于网络软中断、IP包队列的处理都存在一些可优化的地方,经过优化后facebook声称他们的memcached可以处理200K/S的UDP请求平均的延迟是173毫秒,最大可以到500k而他们在Stock Linux上只能跑50K
Coherence的传输就是使用UDP,有一个专门的线程做网络读写,不存在竞争问题。
根据测试Coherence的进程可以在Stock Linux用足千兆网卡, 也试过10g网卡上传输超过500M/S的数据(当然涉及到Linux内核的这些问题,Coherence也是绕不过的,不过目前来说 Coherence的应用主要是企业应用,不是互联网应用,还不会有这么大的负载量,也不会OS的极限)