win2008的IIS7+PHP538,速度奇慢,为什么
你这个跟我前几天遇到的情况一样,刚开是我也是在网上找资料,大多说是运行环境的问题,可我后我仔细检查后,发现是被cc攻击了,你先检查下运行环境,如果没什么问题的话,估计就跟我的情况差不多了,假如你是最近几天突然增多大量的php-cgiexe进程,而且是不间断的,一直有,手动删了还有出现很多的话,估计就是被攻击了。 你的什么站,我可以帮你看看。
wordpress网站速度慢原因:
由于从Wordpress38开始系统中会加载谷歌Open sans字体样式,导致在登陆自己账户后台的情况下打开的网站首页和后台非常的慢,需要加载很久才可以勉强打开,开始的时候很多用户还怀疑自己的虚拟主机或者VPS不稳定导致的,其实这个主要是因为WORDPRESS加载谷歌Open sans字体导致的。
解决办法:
第一、取消谷歌Open sans字体加载
如果使用的默认主题,可能前台也会有,如果使用的自己制作的或者第三方的主题,一般前台是没有的,只有在登陆账户后的前台和后台打开变慢,主要是不便于自己的访问和维护。可以通过在后台插件搜索"Disable Google Fonts",下载安装激活这个插件就可以解决这个问题。
第二、清除不必要的头部加载
看到这里的时候可以到自己的WP网站源代码看看,在头部位置是不是看到很多的JS和CSS加载项目,多达十几条,然后可以看看类似大前端这样的主题源代码,头部基本上没有多余的加载,所所以他们的这类主题加载速度和打开速度非常的快,所以有必要清除不必要的JS加载,在"WordPress提速优化篇:清理HEAD头部多余脚本"也有提到,但是研究的还不够细致,等下面有时间把大前端主题的屏蔽JS功能研究一下。
第三、删除不必要的插件
理论上,能不用插件不用插件,在上周老左在帮网友解决问题的时候,看到他的网站使用的是阿里云机房,照理说速度应该比较好,但是打开速度都不如美国东部机房速度,登陆其网站后台发现使用将近20多个插件,1G内存的VPS,内存已经占用70%,一个新建立的网站开始就有这样的负载,以后如果有流量后咋办?
第四、是否使用商业化主题
个人在使用WORDPRESS的时候喜欢使用简单的主题,然后慢慢修改成自己喜欢的用户体验效果,不喜欢使用主题太复杂的,尤其是海外那些有特别复杂后台的主题,这样的主题一来不太安全,二来加载速度特别慢,毕竟要实现这样的绚丽效果需要用到很多JS和CSS,甚至还嵌入前端框架。个人理解的是网站不需要太复杂和绚丽,简单轻便,主要在于内容够有内涵和吸引力。
第五、数据库缓存文件负担
在默认的时候,在后台写文章会时隔一段时间自动给保存成修订版本,这样的修订版本会自动保存到数据中心,即便在前台是看不到的,这样像老左博客更新一篇文章需要花费几十分钟甚至1-2个小时的时候修订版本会很多很多,这就是为什么很多人发现ID不连续的原因,这样在有1000篇文章时候可能会有3000个记录文章,甚至在长久的运营之后会产生几千上万的记录(这就是为什么很多人说开始速度还可以,以后速度越来越不好)。需要删除修订版本,不让修订版本添加到数据中心。
解决方法:在wp-configphp文件中添加"define('WP_POST_REVISIONS', false);"代码。
第六、检查是否有垃圾评论
这一点很重要,之前一台LINODE VPS一直发报警邮件说机器CPU超标达到400%,而且在其上面的网站打开速度特别慢,开始以为又被人攻击,然后通过日志和后台一看,每秒钟有几十个的评论在增加,即便评论内容不会显示在前台,但是会加载到数据库中,这样就增加了整个网站和机器的负载。需要用工具屏蔽、验证垃圾评论,尤其是软件群发的评论需要搞定。
比如需要激活Akismet以及使用类似需要验证码才可以评论的功能/插件,增加软件群发评论的难度。
第七、优化缓存
尤其是当下扁平化体验的需求,喜欢用较多的内容,比如老左博客教程中用到大量的,但加载是比较慢的,可以用到类似缓冲的插件或者JS效果,比如可以用到jQuery lazy load plugin插件解决缓冲,而且用户体验也比较好,是从上到下加载的,有一个渐变效果。
同时,也需要用到WP-Super-Cache插件,这样可以缓存内容,尤其是WP是用伪静态的时候,数据越大,占用的CPU资源就比较大,甚至有很多虚拟主机商比较讨厌用户使用WP程序。(当然也比较讨厌DEDECMS,安全性差)
方法/步骤
windows 2008升级PHP53后变慢原因
上面说到的程序有共同的特点,那么便是要用到数据库,很多PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 53连接数据库的方式有所改变。目前我们配置数据库信息时都类似这样的“$dbhost=‘localhost’ ”;这本身是没有问题的,只是PHP 53会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况。如果你查看过服务器处理PHP的时间,你会发现处理PHP的时间很短,等待处理前的时间很长。目前这种响应时间过长的情况只出现在IIS 7及IIS 75升级PHP 53系列版本后,至于数据库版本是多少没多大影响。简单普及一下知识,windows 2008分为32位和64位,自带IIS 7,windows 2008 R2自带IIS 75,R2版本的系统只有64位。如果你用的IIS 6或者Linux系统什么的,目前还没存在这样的问题,主要是windows 2008系统。
恢复FastCgi高效运行PHP的简单方法
下面的几个方法实际上不是我自己琢磨出来的,而是在网上找到的答案,经过测试有效;另外,这些答案在IIS官网有相应的回复,回复的时间是2010年末,说明这样的问题很早之前便出来,不过解决的方法确实很简单。
方法一:上面已经说到,这是因为PHP 53在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127001”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost”一样,不过能明确告诉PHP这是IPv4网络。至于具体的修改流程,如果源程序是dedecms,就要用Dreamweaver之类的专业软件编辑修改,否则保存后可能出错。
至于别的程序,同样修改数据库配置文件即可,下面是一般的数据库配置文件信息。
< php
//数据库连接信息
$cfg_dbhost = 'localhost';修改此处的localhost为127001
$cfg_dbname = 'fewfwefsdf';
$cfg_dbuser = 'fsdfsdf';
$cfg_dbpwd = 'fewffdsf';
$cfg_db_language = 'UTF-8'
>
方法二:IIS 7及IIS 75是默认开启IPv6组件的,现在不少国内大厂商同样在部署IPv6;如果你的服务器用不上IPv6网络,那么直接把IPv6禁用即可,打开“%systemroot%\System32\drivers\etc\hosts”这个文件,注释掉“::1 localhost”即可。
方法三:直接把PHP版本降级即可,保持在PHP 5217版本,这是目前用得最多的版本,几乎所有的PHP网站程序都可以运行在这个版本上。经测试,在PHP 52系列版本,IIS 7和IIS 75均能保证高效运行PHP网站程序。
其实,解决方法是很简单的,只要一步即可完成,只是个中缘由,网站建设估计在你没看到网友及IIS官网的解决方法之前,你同样会各种纠结各种埋怨IIS的。不管是IIS 7,还是IIS 75,在运行PHP方面速度都有很大的提升,不用什么问题都怪罪到IIS上,很多时候,只是我们对IIS的认识还不够。
其实当我们用cms建站的时候,数据太多太大,就会遇到生成速度太慢了。
建议你开启伪静态吧,不要直接生成纯静态,太耗费系统资源。
现在各大搜索引擎对动态页面的抓取都差不多了。而且你数据量这么大,已经不在乎收录问题,更重要做好用户体验和seo了
你看其他大型门户网站,很多都是用动态页面的。
0条评论