课程大纲
引言 | 1. 正确理解调优与服务器性能的关系 2. 不同发行版本下Linux参数差异 |
CPU与进 程、线程 | 1. Load与CPU使用率的关系 l 使用top、ps观测服务器利用率 2. CPU资源调度 l 进程的运行状态 l Linux内核的CPU调度策略 3. 计算密集型程序优化 l 计算密集型程序的特点 l 计算密集型程序的优化策略 l 虚拟CPU与物理CPU直接的映射关系 l 虚拟机间CPU资源共享的策略 4. 进程与/proc目录 l /proc目录结构 l 通过/proc实现进程状态的监控 l ulimit、终端与进程的关系 |
内存管理 | 1. 内存资源监控工具的使用 l 使用vmstat、free命令进行内存监控 2. Buffer和Cache的产生及监控 l Buffer和Cache的产生机制 l Buffer和Cache的监控方法 3. 内存管理与优化 l Linux内存管理机制 l 内存优化策略 l JVM如何进行内存的使用 4. 使用大页优化虚拟机内存访问效率 l 大页(HugePages)的使用方法 l TLB(Translation Lookaside Buffer)miss率的监控 5. Swap与内存读写压测 l Swap的使用策略 l 内存读写压测方法 |
磁盘I/O | 1. Linux执行可执行文件的过程 l 文件、文件系统到数据块的理解 l Linux如何执行一个可执行文件 2. I/O资源管理工具的使用 l 使用iostat命令进行I/O监控 3. 固态磁盘与机械磁盘的差异 l 固态磁盘与机械磁盘的性能比较 l 固态磁盘与机械磁盘的使用场景 4. I/O调度算法的差异 l 不同I/O调度算法的特性 l 如何选择合适的I/O调度算法 5. 虚拟化场景下I/O优化常见策略 l I/O性能优化的基本策略 l 使用虚拟化存储技术(如Virtio)优化I/O性能 6. I/O密集型应用的任务拆分及并发解决方案 l I/O密集型应用的任务拆分策略 l 并发技术在I/O密集型应用中的应用 |
网络I/O | 1. 网络I/O资源监控 l 使用netstat命令进行网络I/O监控 2. 网卡多队列机制与网络瓶颈优化 l 网卡多队列机制的理解 l 网络瓶颈的识别与优化 3. Socket连接与断开的内核参数调整 l Socket连接与断开对应的内核参数 l 内核参数的观测与调整方法 4. HTTP协议与DNS链路监控与问题发现 l 从用户到服务器的链路监控方法 l 链路问题的识别与解决 5. 虚拟机配置优化 l 使用高效的虚拟机硬件模型 6. 网络吞吐量和响应时间对网络性能的影响 l 不同内核参数对网络性能的影响 l 网络性能的优化策略 7. CPU、I/O、内存、网络I/O之间的相互作用与影响 l 网卡中断的处理机制 l 网卡中断对CPU的影响 l 不同资源之间的相互作用 l 不同资源对系统性能的影响 8. sysctl参数的调整方法 9. 综合案例 l MySQL参数设置导致I/O性能瓶颈的案例分析 l MySQL性能优化策略 |