如果你有 php 使用经验, 那肯定就更好了
业务背景
框架及相应环境
laravel5.7, mysql5.7, redis5, nginx1.15
centos 7.5 bbr
docker, docker-compose...本文关注的就是如何发现这些问题, 以及发现问题的思路.
我们首先找到系统中一个合适的API或函数, 用来放大问题.
这个 api 设计之初是给 nginx 负载均衡做健康检查的....我们知道 Laravel 的性能是出了名的不好, 但是也不至于到这个程度, 从 api 的编写来看不应该这么低....不管是 vmstat 还是 pidstat 都只是新能探测工具, 我们无法看到具体的中断是由谁发出的....接着我们通过 pidstat, vmstat 发现压测过程中, 出现了大量的系统中断, 并通过 watch -d cat /proc/interrupts 发现主要的中断来自于重调度中断(RES)
通过