1-linux内核专栏介绍
1-linux内核
TCP 重传率高影响 QPS(TPS):每秒钟request/事务 数量
TCP 重传是发生在哪些服务器(IP 地址)之间,哪些业务上(服务端口),以及为什么会重传(SYN_SENT)。
1 18:21:58 10.17.130.19:20612 124.74.250.144:44 SYN_SENT
2 18:22:00 10.17.130.19:20612 124.74.250.144:443 SYN_SENT
3 18:23:21 10.17.130.19:20716 124.74.250.144:443 SYN_SENT
4 18:23:23 10.17.130.19:20716 124.74.250.144:443 SYN_SENT
5 18:24:39 10.17.130.19:20796 124.74.250.144:443 SYN_SENT
6 18:24:41 10.17.130.19:20796 124.74.250.144:443 SYN_SENT
7 18:25:43 10.17.130.19:20861 124.74.250.144:443 SYN_SENT
8 18:25:45 10.17.130.19:20861 124.74.250.144:443 SYN_SENT
9 18:27:23 10.17.130.19:20973 124.74.250.144:443 SYN_SENT
10 18:27:25 10.17.130.19:20973 124.74.250.144:443 SYN_SENT
可以从 tcpdump 里面的信息看到是哪个 TCP 连接进行重传
从系统资源的维度,我们需要关注的问题可以分为四类,分别是磁盘 I/O、内存、网络 I/O、CPU
本专栏针对的是 Page Cache 管理问题、内存泄漏问题、TCP 重传问题、内核态 CPU 利用率飙高问题 ,掌握了这四类典型问题以及其分析思路,你会对磁盘 I/O、内存、网络 I/O 和 CPU 这四类服务器上最基础的资源有更加深入的理解
在 Page Cache 管理这个模块中,我们会重点分析如何更好地利用 Page Cache 来减少无谓的 I/O 开销,Page Cache 管理不当会引起的一些问题,以及如何去分析和解决这类问题。
在内存泄漏这个模块中,我们会重点分析应用程序都是如何从系统中申请内存以及如何释放的。通过内存泄露这类案例来带你了解应用程序使用内存的细节,以及如果内存使用不当会引发的一些问题。当然,我也会带你去观察、分析和解决这类问题。
在 TCP 重传这个模块中,我会重点分析 TCP 连接的建立、传输以及断开的过程。这个过程究竟会受哪些配置项的影响?如果配置不当会引起什么网络问题?然后我会从 TCP 重传这类具体案例出发,来带你认识你必须要去掌握的一些网络细节知识,以及遇到网络相关的问题时,你该如何去分析和解决它。
在内核态 CPU 利用率飙高这个模块中,我会分析应用程序该如何高效地使用 CPU,以及哪些情况下会导致 CPU 的使用很低效:比如内核态 CPU 利用率过高就是一个很低效的表现。那么,针对内核态 CPU 利用率高的这个案例,我会侧重讲解哪些 Linux 内核的特性或者系统配置项会引起这种问题,以及如何分析和解决具体的问题。在每个模块的