飞龙博客

飞龙博客 飞龙在天

如何降低减少网站占用过高cpu资源

feilong.org 修订于2009-01-19 02:14:25 591 次浏览

如何减少网站主机的资源占用?飞龙认为这个问题是每个独立博客站长都要关注和学习的。网上搜集资料,飞龙整理这篇日志,修订网址:http://feilong.org/deduce-cpu-resources 飞龙第4次修订于20100122。下面是虚拟主机资源占用过多的一些原因。

一 搜索引擎蜘蛛造成cpu占用过高
如果你的网站是英文站,那么你需要把百度,搜狗等国内蜘蛛屏蔽掉,他们也会爬英文站。如果你的内容多,即使没人访问,你的网站也会被soso蜘蛛、采集爬虫给拖死了。所以经常看主机日志,发现不正常的访问就及时禁止。

二 负载能力差的程序会造成cpu占用过高
虚拟主机不限空间、流量和网站数目,这并不是说你就可以无限制使用主机资源。比如国外主机对cpu占用其实是有限制的。如果你选用的建站程序不好,加上网站流量又大,那么主机cpu资源占用过高是必然的,于是你的网站会被暂停访问。
什么样的网站程序会占用cpu资源多呢?论坛,用户Session处于连接状态,消耗cpu资源比较厉害。所以论坛有必要静态化处理、禁止用户滥发邮件。如果有插件,还要尽量减少插件。还有多用户程序、CGI论坛、聊天室等建站程序很吃cpu资源。
还有很多其它动态程序也比较消耗资源,因此也尽可能生成静态网页。如果做了这几步,主机cpu资源占用还高,那只能换空间了。

三、如果用wordpress,注意一下wordpress本身的一些问题。
除了主机cpu资源占用有限制外,wordpress程序本身也有一些问题,听说wordpress执行效率比较低?因此wordpress博客如果不做优化,网站流量大了的话,cpu资源占用就会超标。比如每天3000ip以上,虚拟主机可能就受不了,网速就慢下来了。
不管wordpress程序本身有没有问题,飞龙建议你,给你的wordpress博客优化下吧!比如使用WP Super Cache插件生成静态文件,这样访客不需要cpu资源去执行php查询,从而降低cpu消耗率。如果你的博客流量大于日300ip,飞龙建议你开启缓存!

四、网站的访问量太大了也是cpu资源占用过高的原因。
网站访问量大了还不高兴么?呵呵是的,因为虚拟主机可能因此就挂了。主机一天能支持多少ip访问量?这个是购买虚拟主机需要了解一下的。有的图片站一天超万ip也没事,有的超过3千ip就承受不了。特别是PV一高,CPU占用就高。
换虚拟主机吧?口袋里银子不够。幸好目前飞龙用的LunarPages主机,支撑IP访问量大,3000IP,8000PV,没问题。

五、主机上建站越多,那么耗费cpu资源也越多,CPU更容易超标。
做站不在多,在于踏踏实实建好一两个站。合租空间的朋友,一旦被发现多建就会被停的。

六、网站下载图片、视频、音频之类文件的时候,也会占很多cpu资源。

七、网站如果没有防盗链,防采集,那么也容易cpu资源占用超载。
据统计网站有将近50%的非浏览器流量,那肯定是被盗链和疯狂采集了。还有离线浏览器也会不断的下载你的网页到本地。为此我们需要做好防范。比如禁止它们的IP、根据agent信息禁止、在robot文件中进行设置。
飞龙提示:如果你有cpanel权限,看看网站日志分析。比如Webalizer、analog、Advanced Web Statistics。SpamAssassin配置默认没有启用,SpamAssassin is currently: Disabled;Spam Box is currently: Disabled,启用它吧!

八、看看主机状态(Server Status)也很重要。Server Load太高会导致网站速度过慢。
Server Load 1.14 (4 cpus)是看主机是不是很忙碌的指标。如果load average/CPU数量<3, 负载正常良好;如果load average/CPU数量>5, 负载很重。

Server Status
cpdavd up
Server Load 1.19 (4 cpus)
Memory Used 17.7 %
Swap Used 0.01 %
Disk /dev/sda6 (/) 25 %
Disk /dev/sda7 (/tmp) 3 %
Disk /dev/sda8 (/home) 81 % 磁盘占用,你自己占用的不要超标就OK,这个是服务器的,他们会处理的
Disk /dev/sda1 (/boot) 13 %
Disk /dev/sda2 (/var) 72 %
Disk /dev/sda3 (/usr) 72 %

九、cPanel的各种服务。其中pop、named、mysql (5.0.51a-community)、httpd (2.2.10 (Unix))为维持网站正常的基本服务。

ftpd:FTP服务
pop:邮件收信服务
imap:邮件imap服务
cpsrvd:cPanel服务
named:DNS服务
mysql (5.0.51a-community):资料库服务
httpd (2.2.10 (Unix)):网页伺服器
Server Load:伺服器整体CPU使用状态,服务器负载
Memory Used:伺服器整体实体记忆体使用状态
Swap Used:伺服器整体虚拟记忆体使用状态
Disk XXX:硬碟使用状态

Disk /dev/sda8 (/home):所有使用者档案空间使用量。

主域:论坛所赠的网域
主目录:你可取存档案的最高范围
磁盘空间使用情况:空间使用量
带宽:该月流量使用量

电子邮件帐户:信箱帐号基本管理
网路邮件:透过网页取存邮件之处

备份、备份向导:备分网页档案、资料库、邮件工具
文件管理器:较新的档案管理工具
FTP帐户:FTP帐号基本管理

日志:网站各种纪录,包含月流量、访客、错误纪录等
安全:建立SSL、防盗连区域的工具
域:绑定域名、增减子域的工具
数据库:资料库管理

十、为什么飞龙要写这篇日志呢?
因为昨天,也就是2009年1月17日晚上大概9点,飞龙正在wordpress博客后台维护网站,突然发现网站Down了!飞龙第一个反应:我的博客放进养鱼池了吗?第二个反应就是,飞龙博客占用lunarpages的cpe资源过多?被lunarpages暂时关掉?通过cmd下的tracert命令,或到http://nc.linkwan.com/gb/broadmeter/tracemap/traceroute.asp 飞龙发现路由到了lunarpages后就没信号了。
正准备到lunarpages提交tickets反馈,飞龙发现原来lunarpages今晚要给我博客所在的主机做技术维修。呵呵虚惊一场啊!这次lunarpages做内部升级优化,原来给客户邮箱里提前打了招呼。到今天中午他们终于修好了。
急忙打开久违了飞龙博客,通过在线网站反应速度测试(http://nc.linkwan.com/gb/broadmeter),发现飞龙博客的打开速度很慢。但是在北京的朋友说飞龙博客打开很快,难道连云港电信局域网有问题?
问下来看这篇日志的朋友,你打开飞龙博客花了大概几秒?

更新网址:https://feilong.org/deduce-cpu-resources
最初发布:20090119 02:14:25 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: 默认

新作:

旧文:

blog money bui 教程 echarts 教程 eclipse 教程 html css 教程 IT趋势 js 教程 json 教程 mysql 教程 nodejs npm 教程 onblog SQLite 教程 tutorials vscode 教程 wap网站 winpe启动盘 wordpress 主机推荐 书法 前端开发 博客 名企名网 国学 域名注册 常用软件 建站程序 操作系统 教程 数码 无线上网 日记 电子商务 电脑笔记本 网站 网站优化 网站开发 网站推广 网站策划 网络 虚拟现实 默认