第一章 绪论
1. 对底层工作原理不清楚时,能看到的只是整体。
2. 问题
- 一个TIME_WAIT状态的连接到底会有哪些开销?
- 一条空闲的TCP连接到底有多大的开销?
- 一台服务器最多可以支撑多少条TCP连接?
- 一台客户端最多可以支撑多少条TCP连接?
- 一条TCP连接需要消耗多大的内存?
- 访问127.0.0.1过网卡吗?
- 零拷贝到底是怎么回事?
3. 负载:就绪状态等待CPU调用的进程数量统计。
4. 不同的语言,只是对内核提供的网络IO进行不同方式的封装而已,本质上相差无几。
5. 如果不了解数据在网络包收发时各个不同内核组件中的拷贝过程,对零拷贝就没有理解到本质。
6. K和k,分别代表1024和1000。
7. 术语
- hi:CPU开销中硬中断消耗的部分
- si:CPU开销中软中断消耗的部分
-skb:struct sk_buff对象的简称,struct sk_buff是Linux网络模块中的核心结构体,各个层用到的数据包都存在这个结构体中
- NAPI:一种高效网卡数据处理技术
- MSI/MSIx:Message Signal Interrupt,一种触发CPU中断的方式
(2023年11月15日)