Windows 2019 server环境下 apache2.4.62 + php 7.3.2 cpu异常增长

1. 运行环境#

windows server 2019
php7.3.22
apache2.4.62

是一台文件缓存服务器,用于存储各种缓存文件。
当内存占用较小的时候 apache 服务很正常,cpu 占用只有 1-3% 左右,但是当服务器内存增长到 100G 左右就开始出现 cpu 暴涨的情况单个 apache 进程如下图所示
通过开启 server-status 查看发现请求数量并不高

php 代码:查找本地文件输出到页面中,直接通过 file_get_contents 读取,没有任何数据库操作,文件大小一般都是几十 k 至 100k 没有过大的文件。

备注:硬盘是三星 SSD 固态 一共十二块

Windows 2019 server环境下 apache2.4.62 + php 7.3.2 cpu异常增长

Windows 2019 server环境下 apache2.4.62 + php 7.3.2 cpu异常增长

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13
jiangjun

1. 为什么内存占用会大,是请求变多了,还是每次请求数据变多了。请求变多了,cup 自然就高了。 2. 既然是文件,为什么不直接用静态文件返回给前端。不需要 php 读取,再吐出去。 3. 把文件放 cdn, 直接返回

2个月前 评论
Shit_Laravel (楼主) 2个月前
Shit_Laravel (楼主) 2个月前
jiangjun (作者) 2个月前
Shit_Laravel (楼主) 2个月前
jiangjun (作者) 2个月前
Shit_Laravel (楼主) 2个月前

file_get_contents 这个函数吃 CPU,一般都禁止使用。

2个月前 评论
Shit_Laravel (楼主) 2个月前

换成 golang 以后 cpu 持续稳定在 3%..... 完全不能理解.....

2个月前 评论

你的 “本地文件” 是什么文件,如果是下载,可以试试 readfile

2个月前 评论
Shit_Laravel (楼主) 2个月前