记一次php.ini配置不合理造成系统加载偏慢问题
php 是一个很不错的脚本语言,以下是说明关于问题的配置部分,以及解决方法
现象
系统使用lls 运行php,基于cgi 模式,使用webpi模式部署,系统的现象是运行越来越慢,通过
浏览器看到的php 应用首页请求的TTFB在10多秒,而且对于依赖其他的服务的(比如验证码,session 的更慢)
有问题的配置
- 参考配置(php.ini)
注意此处的关于windows\temp 部分的配置,好多核心都在此处,session,log,upload temp
[WebPIChanges]
error_log=C:\Windows\temp\PHP53_errors.log
upload_tmp_dir=C:\Windows\temp
session.save_path=C:\Windows\temp
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0
max_execution_time=1800
date.timezone=Asia/Brunei
extension_dir="C:\Program Files (x86)\PHP\v5.3\ext\"
问题说明
核心就出在Windows\temp 的配置路径了,因为windows 操作系统好多临时东西都是在此目录的,随着系统运行时间越长
此文件夹的临时文件也越多,明显造成了文件读取很慢(同时包含了写入,session,以及upload temp 属于典型的写入操作)
而且还有一个问题就是log 文件偏大,也会严重影响系统的加载(写文件操作)
解决方法
修改php.ini 中关于log,session,upload temp 的路径,调整到其他地方,不使用默认的
- 参考配置(当然也可以直接使用iis 的php manager 进行修改)
我自己手工创建了log 以及session,还有upload 的目录
[WebPIChanges]
error_log=C:\php\PHP53_errors.log
upload_tmp_dir=C:\php\temp
session.save_path=C:\session
cgi.force_redirect=0
cgi.fix_pathinfo=1
fastcgi.impersonate=1
fastcgi.logging=0
max_execution_time=1800
date.timezone=Asia/Brunei
extension_dir="C:\Program Files (x86)\PHP\v5.3\ext\"
说明
实际上当时如果使用了windows 的性能监视器,以及其他工具也是可以协助分析的
参考资料
https://forums.iis.net/t/1238543.aspx?Feedback+for+WebPI+and+PHP+setup
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-01-06 使用nexus 管理pip 私有包
2018-01-06 让nodejs 支持 es6 import