1
defunct9 2023-06-01 17:11:25 +08:00 2
开 ssh ,让我上去看看
|
2
garlics 2023-06-01 17:12:33 +08:00
代码有死循环?
|
3
john2022 2023-06-01 17:12:39 +08:00
你 session 是用文件存储的?换成 redis 试试
|
4
rushssss 2023-06-01 17:14:51 +08:00
opcache 开了吗?从火焰图上看似乎和文件系统有点关系,如果没有打开的话可以打开试试
|
6
LLaMA2 2023-06-01 17:15:27 +08:00
y 轴表示调用栈
x 轴表示抽样数,如果一个函数在 x 轴占据的宽度越宽,就表示它被抽到的次数多,即执行的时间长。 看顶层的哪个函数占据的宽度最大,表示该函数可能存在性能问题。 |
7
raysonlu 2023-06-01 17:17:36 +08:00
顺便请教一下,如果 php 进程存在 IO 等待,是否会导致出现这个问题?
|
8
LLaMA2 2023-06-01 17:20:40 +08:00
IO 等待不会线性的影响 CPU 使用率,IO 等待极大概率会跑满读写利用率
|
9
bobzhangyong 2023-06-01 17:34:50 +08:00
看看是不是循环批量调用了 session_start 函数
|
10
colinlikepotatos 2023-06-01 17:50:11 +08:00
查一下 session 目录 和自己有写文件缓存的目录,看看是不是有目录下的文件过多导致的,有一次用文件记录访问 IP 导致写了几十万个文件。。也出现过类似的情况,xfs 都是文件系统相关的,估计有点关系
|
11
wangxin13g 2023-06-01 17:54:28 +08:00
看了下好像都是文件调用耗时,检查下文件读写
|
12
8355 2023-06-01 17:56:13 +08:00 2
猜测你的配置文件里应该开启了 session.auto_start
单机在线人数过多影响了磁盘 io 导致等待 验证方法: 先找到机器存放 session 的文件夹看看里面有多少文件 安装个 iotop 看一下现在的读写情况 关闭 session.auto_start 再看一下负载 |
13
tmtstudio OP @8355 @colinlikepotatos 感谢大佬,真的是 session 读写占的 cpu
|