我有一个关于处理时间延迟的问题。我想知道:接收数据包的速率与其在接收主机的处理时间之间是否存在关系,或者处理时间完全随机?我的意思是,如果我使用同一台计算机,并且在 1G 接口上接收数据,而另一次在 10G 接口上接收数据,那么 1G 的处理时间一定会更短吗?为什么?
注意:这是一个理论问题,没有瓶颈,没有下降,没有卸载。
答案1
简而言之:如果您一收到数据就开始处理和您处理数据的速度比接收数据的速度快,接口速度越快,总处理时间就会越短。但这种情况几乎从来没有发生过。
如果处理速度比接收速度快:
- 如果收到第一位时开始处理:收到最后一位后将立即结束处理,因此处理时间取决于接收时间,处理开始和结束之间的经过时间将为更小以获得更快的界面。
- 别的如果在收到最后一位后开始处理:处理时间为未链接到接收速度。
别的如果处理速度慢于接收速度:
- 如果当您收到第一位时开始处理:接收结束后您将结束处理,与接口速度无关。
- 别的如果在收到最后一位后开始处理:处理时间为未链接到接收速度。
别的(一个接口的接收速度与另一个接口的接收速度之间的处理速度)
- 如果当您收到第一个位时,您开始处理:较慢的接口的处理速度不会比较快的接口快(它将必须等待即将到来的数据),因此处理开始和结束之间的经过时间将为更小以获得更快的界面。
- 别的如果在收到最后一位后开始处理:处理时间为未链接到接收速度。
注意:大多数时候,数据包的接收将封装在实用程序后面,在接收后转发完整的数据包,这意味着处理时间为未链接到接收速度。