技术文档Linux性能优化实战Linux性能优化实战00 开篇词 别再让Linux性能问题成为你的绊脚石01 如何学习Linux性能优化?02 基础篇:到底应该怎么理解“平均负载”?03 基础篇:经常说的 CPU 上下文切换是什么意思?(上)04 基础篇:经常说的 CPU 上下文切换是什么意思?(下)05 基础篇:某个应用的CPU使用率居然达到100%,我该怎么办?06 案例篇:系统的 CPU 使用率很高,但为啥却找不到高 CPU 的应用?07 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(上)08 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(下)09 基础篇:怎么理解Linux软中断?10 案例篇:系统的软中断CPU使用率升高,我该怎么办?11 套路篇:如何迅速分析出系统CPU的瓶颈在哪里?12 套路篇:CPU 性能优化的几个思路13 答疑(一):无法模拟出 RES 中断的问题,怎么办?14 答疑(二):如何用perf工具分析Java程序?15 基础篇:Linux内存是怎么工作的?16 基础篇:怎么理解内存中的Buffer和Cache?17 案例篇:如何利用系统缓存优化程序的运行效率?18 案例篇:内存泄漏了,我该如何定位和处理?19 案例篇:为什么系统的Swap变高了(上)20 案例篇:为什么系统的Swap变高了?(下)21 套路篇:如何“快准狠”找到系统内存的问题?22 答疑(三):文件系统与磁盘的区别是什么?23 基础篇:Linux 文件系统是怎么工作的?24 基础篇:Linux 磁盘I_O是怎么工作的(上)25 基础篇:Linux 磁盘I_O是怎么工作的(下)26 案例篇:如何找出狂打日志的“内鬼”?27 案例篇:为什么我的磁盘I_O延迟很高?28 案例篇:一个SQL查询要15秒,这是怎么回事?29 案例篇:Redis响应严重延迟,如何解决?30 套路篇:如何迅速分析出系统I_O的瓶颈在哪里?31 套路篇:磁盘 I_O 性能优化的几个思路32 答疑(四):阻塞、非阻塞 I_O 与同步、异步 I_O 的区别和联系33 关于 Linux 网络,你必须知道这些(上)34 关于 Linux 网络,你必须知道这些(下)35 基础篇:C10K 和 C1000K 回顾36 套路篇:怎么评估系统的网络性能?37 案例篇:DNS 解析时快时慢,我该怎么办?38 案例篇:怎么使用 tcpdump 和 Wireshark 分析网络流量?39 案例篇:怎么缓解 DDoS 攻击带来的性能下降问题?40 案例篇:网络请求延迟变大了,我该怎么办?41 案例篇:如何优化 NAT 性能?(上)42 案例篇:如何优化 NAT 性能?(下)43 套路篇:网络性能优化的几个思路(上)44 套路篇:网络性能优化的几个思路(下)45 答疑(五):网络收发过程中,缓冲区位置在哪里?46 案例篇:为什么应用容器化后,启动慢了很多?47 案例篇:服务器总是时不时丢包,我该怎么办?(上)48 案例篇:服务器总是时不时丢包,我该怎么办?(下)49 案例篇:内核线程 CPU 利用率太高,我该怎么办?50 案例篇:动态追踪怎么用?(上)51 案例篇:动态追踪怎么用?(下)52 案例篇:服务吞吐量下降很厉害,怎么分析?53 套路篇:系统监控的综合思路54 套路篇:应用监控的一般思路55 套路篇:分析性能问题的一般步骤56 套路篇:优化性能问题的一般方法57 套路篇:Linux 性能工具速查58 答疑(六):容器冷启动如何性能分析?加餐(一) 书单推荐:性能优化和Linux 系统原理加餐(二) 书单推荐:网络原理和 Linux 内核实现用户故事 “半路出家 ”,也要顺利拿下性能优化!用户故事 运维和开发工程师们怎么说?结束语 愿你攻克性能难关