系统性能优化流程

来自老外《Linux Performance Tools》pdf的部分记录。

理论:

检查资源:输入饱和度;工作单元利用率;输出错误日志。
问自己5次Why?
另一些方法:工作量描述;深度分析;事件追踪;基线数据;静态性能调优
根据上述结论,开始找工具干活
PS:任何工具都是基于内核接口(/proc, /sys, …)

工具分类:

观察:安全,常用,基于资源开销
标杆确定:负载测试,注意这会导致竞争问题
调优:更改导致危险,随着负载而伤性能
静态:check配置文件,安全
观察:

uptime 平均负载
top 处理器周期统计
ps -ef f 进程状态列表
vmstat -Sm 1 虚拟内存统计
free -m 内存使用量
netstat 查网络的复合工具,参数很多,如-ntl
ss socket统计
slabtop 内核分配内存使用量
测试:

有效的测试:以小时单位运行测试;期间用观察工具分析和确认性能。

perf 综合分析工具,前提是安装linux-tool
dd、hdparm 磁盘测试
ab、openssl 应用测试
ping、traceroute 网络测试
调优:

通用接口:sysctl
CPU调度 nice|renice、taskset、chcpu
IO存储 tune2fs、ionice、blockdev
网络 ethtool、tc、ip、route
应用自己的配置文件
工作方法:发现问题 - 假设 - 预言 - 测试 - 分析

系统性能优化流程_第1张图片

你可能感兴趣的:(系统性能优化流程)