前几天群里的朋友突然都关心起网络延时的问题来,一方面大概是因为现在许多的应用都逐渐变得对延时更加敏感,另一方面大概也因为许多网络厂商的各种低延迟的宣传让大家心生疑惑:到底我们需要多少的网络延时而实际网络又能提供多少的延时性能。
这个问题要细说起来其实也挺复杂,我尽量简单的聊一聊。
1. 高频交易
2. 高性能计算HPC
3. 高性能应用集群,比如Oracle RAC等
大家现在都宣传纳秒级的低延时性能,但其实从端到端级别来看,纳秒级别的网络延时现在还根本不存在,对的,不存在!
最后再来个总结,绝大部分的应用对网络延时的要求远没有那么高,毫秒内级别的网络延时已经足够满足绝大部分的应用场景了。我曾经思考为什么万兆网络出现了十多年但一直没有得到普及,后来发现其中一个主要的原因还是因为被存储技术拖了后退,当一个硬盘就只有几十M的吞吐的时候,服务器上配几个千兆足够各种使用了,上万兆实在是用不了啊
娘娘对皇上说臣妾做不到啊,硬盘对网络说臣妾用不到万兆啊,此处应该有配图……
基于同样的理由可以认定,只要机械硬盘还在使用,几个毫秒的延时就不算是什么大事,即使到了全Flash的阶段,完全NVMe over Fabric了,十位数的微妙级别延时也不算什么问题,一个规划设计良好的网络达到这个性能要求不是太难,现在有种说法是说云计算的最大瓶颈在网络,但说的肯定不是指吞吐、延时这些性能的问题了 。