IIS7.5+PHP网站打开速度慢的一个解决方法
最近在给一个客户搭建网站系统,winserv2008 R2 64位的服务器环境,运行环境是IIS7.5+PHP5.5,按照经验来说这个是没问题的,因为很多客户都在使用这个样子的配置。可这就出问题了。看下图:
能看清不?访问了一个根目录的 info.php文件,加载了竟然有30多秒。估计大家都要问我这里面到底写了什么。说出来你可能都不信,这个文件里面的东西很简单,就一个:echo phpinfo();
这个痛苦死了吧,就这么一个输出就得半分钟,那我的业务逻辑就不用做了。
例行检查:
首先查看服务器的CPU,内存的物理资源,duang!
没有问题啊这是。
然后检查hosts文件:
依然没问题。额
没办法了,查看一下静态文件加载的情况,从服务器上找到一张图片,300k+,然后发现瞬间加载完成,多试N多次,还是瞬间执行完成。无语了
问题已经很清晰了,就是执行php慢,加载静态资源没问题,回头去IIS配置哪里查看一下。
发现IIS里面有很多的警告,网站出问题的时候,有一个警告:
详细信息:
为应用程序池“web”提供服务的进程意外终止。进程 ID 是“3836”。进程退出代码是“0xff”。
然后我百度了一下这个问题,恩,比较简单,就是修改一下注册表的事:
1:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters
2:在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS
然后加载网站,100ms上下的响应时间,嗯,任务完成。
后续:
对于做网站运维的人来说,每天都在面临五花八门,各种古怪的问题,当你把这些问题解决了,也就成长了。
IIS网站访问速度慢的问题,在头响应的时候需要一秒多两秒多得时间,这个问题可以去查看一下hosts文件,看看localhost是否指向了本定的127.0.0.1。
如果出现像我的这个样子的问题,那就按顺序排查,硬件资源检查-》网络带宽检查-》加载静态资源与动态资源对比,在取查看一下运行环境哪里是否有问题。
这个方法,也只是解决了我当前的问题,那么如果你遇到类似的问题了,该如何做呢?
- 上一条: 网站报400Bad Request错误的解决办法
- 下一条: IIS7.5报5009错误的解决方法