问题背景
php 已经开启 opcache, laravel 也运行了 optimize 命令进行优化, composer 也进行过 dump-autoload 命令....有一个地方看起来很奇怪, top 命令的运行结果
?
就是有一部分 php-fpm 进程处在 Sleep 状态, 但 CPU 占用还是达到了近 30%....过程中也没发现什么异样, 并且和top命令的运行结果也基本一致.
vmstat
保持压测压力, 运行 vmstate 查看, 除了 context switch (上下文切换)有点高之外, 并没有看到太多异常...果然, 发现大量的 stat 系统调用, 我们猜想, 是 opcache 在检查文件是否过期导致的....所以需要修改 Laravel 的 Redis 门面为其他名字, 如 RedisL5.
再次进行压测
?