IIS7.5网站访问PHP响应慢的原因
原因是PHP5.3以上支持IPv6协议,但是大家的服务器未使用IPv6,当访问PHP的时候会连接MySQL的地址为localhost,系统会会先用IPv6连接,但又没有IPv6所以要等到IPv6失败了再转到IPv4这样绕了一圈速度当然慢了。
网上说的神马禁用IPv6试了没有任何作用,然后使用了微软官方的IPv6禁用工具依然如此,下面贴出正确的解决方法我的方法不一定适用你但你不妨一试
因为我在服务器使用ping localhost的时候感觉很奇怪出来的IP居然是【::1】
IIS7.5网站访问PHP响应慢的解决方法
使用记事本或EmEditor等软件打开C:\Windows\System32\drivers\etc下的hosts文件。
找到:
# 127.0.0.1 localhost
修改为:
127.0.0.1 localhost
保存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。

如果出现像我的这个样子的问题,那就按顺序排查,硬件资源检查-》网络带宽检查-》加载静态资源与动态资源对比,在取查看一下运行环境哪里是否有问题。

这个方法,也只是解决了我当前的问题,那么如果你遇到类似的问题了,该如何做呢?