Nagle算法

      Nagle算法用于TCP通过减少小数据的频繁发送,提高了网络效率。它的主要职责是数据的积累,它主要有两个门槛:1、缓冲区中的字节数达到了一定的数量;2、等待时间超过了一定的时间(一般是200ms)。

      对实时性能要求比较高的C/S服务器上,并不允许自动连接小缓冲区带来的延迟。在socket网络编程中,可以设置Socket中的TCP_NODELAY选项来来关闭Nagle过程,或者可以在socket上封装另一层,使用select方法自己实现Nagle处理过程。

     与Nagle密切相关的两个选项TCP_NODELAY和TCP_CORK。

TCP_NODELAY:

      关闭Nagle过程,直接把小包发送出去。

TCP_CORK:

      关闭Nagle过程,也有两个门槛,1、把数据积累到最大的包,以最大MTU传输;2、等待时间超过0.6s~0.8s都没有能组装好一个最大包,则进行发送。

     

你可能感兴趣的:(Server服务器)