IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:502错误

共 1 篇相关文章

IT 累计浏览 2,338

小心,apc可能导致php-fpm罢工!

这篇讲的是一次线上502故障的深度排查。作者从php-fpm进程数异常飙升入手,通过`pstack`命令分析进程堆栈,发现几乎所有进程都卡在申请APC互斥锁上,指向了死锁。 根因的追查过程很有价值。通过GDB调试,他们定位到互斥锁被一个已不存在的进程(11274)持有。结合php-fpm日志,最终确认是该进程因`hsf`扩展的内存错误(SIGSEGV)而异常退出,退出时未能释放它持有的APC锁,从而导致了整个进程池的级联阻塞。 解决思路清晰:一是彻底的方案,即根据APC维护者建议迁移到不再有此风险的`opcache`;二是针对性修复,参考PHP官方bug报告修改APC源码,在进程异常退出时强制释放锁。文章完整展示了一个由扩展缺陷引发的内存级死锁案例及其分析路径。