作者回复: 这是两个不同的概念,具体到数据上,内核协议栈都是操作指针,并不会在不同协议层之间复制数据
作者回复: 为客户端分配不同的端口去连接服务端,请求量大的时候还需要多机或多IP增大请求数
作者回复: 后面的案例还会讲到timeout的
作者回复: 这是可配置的,也可以开启reuseport交给你系统来选择
作者回复: 嗯,谢谢分享。不过线上环境也不推荐一直运行在达到资源极限的场景,最好是预留一些资源以便应对异常情况
作者回复: 是的,除了内存拷贝优化,还减少了原来冗长的网络协议栈处理过程
作者回复: C10K篇里面已经讲过了
作者回复: 可以简单这么理解,但实际上也不准确,对同一个网络报文来说,不同协议栈层处理的是同一个pkt不同位置的数据(同一个struct内部),而不是链表中的不同item。真要理解的话,还是推荐去看一下内核源码
作者回复: 正好反正,客户端会随机一个端口去连接80端口