来自老外《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 应用自己的配置文件 工作方法:发现问题 - 假设 - 预言 - 测试 - 分析