性能分析排查

1.安装软件

yum install -y stress sysstat

stress 是一个 Linux 系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。
sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。如mpstat 和 pidstat。

  mpstat 是一个常用的多核 CPU 性能分析工具,用来实时查看每个 CPU 的性能指标,以及所有 CPU 的平均指标。
  pidstat 是一个常用的进程性能分析工具,用来实时查看进程的 CPU、内存、I/O 以及上下文切换等性能指标。

2.使用 stress 命令,模拟一个 CPU 使用率 100% 的场景:

stress --cpu 1 --timeout 600

3.使用 stress,模拟的是 8 个进程:

stress -c 8 --timeout 600

4.使用 mpstat 查看 CPU 使用率的变化情况:

显示所有CPU的指标,并在间隔5秒输出一组数据

mpstat -P ALL 5 1

5.使用 pidstat 来查询导致 iowait 高的进程:

间隔5秒后输出一组数据,-u表示CPU指标

pidstat -u 5 1

6.使用 perf top 查看进程占用高cpu的内部函数:

perf top -g -p <进程pid>

按方向键切换到 php-fpm,再按下回车键展开 php-fpm 的调用关系,你会发现,调用关系最终到了 sqrt 和 add_function。看来,我们需要从这两个函数入手了。

原文地址:https://www.cnblogs.com/chenjw-note/p/14117159.html