我有一个运行memcached的专用128GB ram服务器。 4个Web服务器连接到那个。他们总共派了一大堆 20k包/秒。
最近我决定改变从web服务器到memcached服务器的连接,从持久的SSH隧道到使用Tinc(为了简化设置和灵活性,只要我需要它们在新端口上进行通信)。
此更改导致网络往返的开销显着增加(参见图表)。然而,我注意到,使用Tinc支持SSH隧道的网络开销要小得多(甚至比以前的SSH隧道还要快!),当我用它在服务器之间进行通信时(例如我的Postgresql数据库服务器),吞吐量低很多<每秒10k数据包。我试图在更多的服务器之间分配memcached负载,突然来自tinc / network的开销显着下降。
现在,我不明白为什么tinc网络开销会随着吞吐量的增加而急剧增加?这就像我打了一个瓶颈(并且它肯定不是CPU,因为Newrelic报告< 0.5%用于tinc过程)。有什么东西我可以在Tinc设置中调整,还是Tinc只是高吞吐量的坏选择?我应该使用IPsec吗?