记一次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

posted on 2021-01-06 11:59  荣锋亮  阅读(302)  评论(0编辑  收藏  举报

导航