网站流量暴涨,如何解决?

IDC 机房带宽突然从平时 100M 增加到 400M,请你分析问题所在并解决

【分析问题】

1)IDC带宽被占满的原因很多,常见的有:

a.真实遭受DDOS攻击(遇到过几次,造成影响的不多见,其中还有黑客勒索的案例)。
 b.内部服务器中毒,大量外发流量(这个问题老男孩接警5次以上)
 c.网站元素(如图片)被盗连,在门户页面被推广导致大量流量产生(接警3次以上)
 d.合作公司来抓数据,如:对合作单位提供了API数据接口(有合作的公司的朋友了解这个)
 e.购买了CDN业务,CDN猛抓源站(这个次数也不少)。
 f.其他原因还有一些,不普遍就不提了。

2)CDN带宽异常,源站没异常。

这类问题基本都是缓存在CDN的数据被频繁访问引起的。解决方法见结尾案例。

3) CDN带宽异常,源站也异常。

可能原因如公司做推广,大量数据访问,热点数据cache里不全。或CDN问题导致数据回源(有关CDN回源率问题及提升回源率经验,以后再和大家分享)。影响就是带宽高,后端静态服务器及图片及存储压力大
   (    解决办法见老男孩的7层门户网站架构案例文章http://oldboy.blog.51cto.com/2561410/736710)

【解决问题】

分析了问题的可能原因,就好比较排查了。

a.真实遭受DDOS攻击

DDOS问题的解决老男孩已经写了原创文章(http://oldboy.blog.51cto.com/2561410/845349),提供了17条解决经验思路,供大家参考,这里就不提了,那么实际上遭受真实DDOS攻击并产生影响的并不是最常见的。

b.内部服务器中毒,大量外发流量。

这个问题的解决比较简单,可能有的朋友说,看看服务器流量,哪个机器带宽高处理下就好了。其实不然,实际解决比这复杂得多,带宽打满,所有监控都是看不到的。
   比较好的思路,是联系机房确定机房自身无问题后(机房一般没法帮我们的),请机房断开连接外部IP服务器的网线,如负载均衡器,仅保留VPN SERVER,然后断掉内部服务器出网光关的线路,切断外发流量源头。
    接下来查看监控流量服务,判断外发流量的服务器,然后进行处理。
    其实,这个问题的发生及快速定位和很多公司的运维规范、制度关系很大,老男孩在给一些公司做运维培训分享时发现这个问题很严重(表象很好,内部运维规范、制度欠缺很多),大家都讨论的很深入,实际用的还是和聊的有差距。。
     比如有的公司开发直接FTP连接随时发布代码,或者由开发人员负责定时多次上线。而运维人员又不知晓,结果导致问题发生定位时间长,这点建议各公司的老大多思考下。
    老男孩的运维思路是,如果把网站机房比喻为一座房子,那首先要堵住后门(内部),其次是监控好前门(做好安全,留个小窗户给外面人看,即80端口服务,同时安排站岗值班的)。
    网站的无休止的随时随意发布代码,对网站的稳定影响是至关重要的。对运维人员对故障的定位快慢也很关键。根据老男孩不完全调查,约50%以上的重要运维故障都是程序代码导致的,这也是老男孩给企业做培训分享时,灌输建议CTO的,多把网站稳定的责任分给开发,而不是运维。如果这个思想不扭转,网站不稳定状况就难以改变。

c.网站元素(如图片)被盗连

这个属于网站的基本优化了,apache,lighttpd,nginx都有防盗链的方案,必须要搞。说到这也提个案例,老男孩的一个学生,到了企业工作,发现人家网站没有防盗链,结果上来没有周知老大,直接做防盗链了,然后美滋滋的当时还给我留言,说给公司搞防盗链了,很有成就,结果导致公司对外合作的业务,都是小叉子了,幸亏发现的及时没出大问题。

d-e.合作公司来抓数据,如:对合作单位提供了API数据接口或购买了CDN业务。

最常见的就是购买CDN服务,如:CDN新建一个节点(可能数十机器),直接来我们IDC原战来抓数据(有的做好点的夜里来抓)。把原站抓的流量暴涨,严重的导致服务宕机。几家CDN公司,都有过这样的问题。这点希望CDN公司看到了,能改善,毕竟用户上帝嘛。
    当然和电信,联通,GOOGLE,BAIDU,词霸等公司的合作,也会有流量暴高的情况,这里面包括了为合作的站搜索引擎爬虫爬数据的问题。有时虽然带宽流量不高,但是服务器或数据库撑不住了,搜索引擎专门喜欢爬我们的站内搜索,DISCUZ,CMS等早期的开源程序的搜索都是全站like %%方式去数据库搜索的,几个爬虫过来,直接就挂掉了,当然这不是本文要讨论的,解决方案以后再聊。

f.其他原因还有一些,不普遍就不提了。

上面的几点比较常见,其他原因就不多见了,因此,作罢,打这么多字真不轻松啊。

下面的例子适合于网站流量很高,但是,还没达到全网瘫痪的严重地步时的解决方案,适合我们自己的IDC机房及CDN业务(如果是CDN,那么,分析处理可以交给CDN,自己下载CDN日志分析也可)。

范例7:分析图片服务日志,把日志(每个图片访问次数图片大小的总和)排行,取top10,也就是计算每个url的总访问大小
说明:范例7的生产环境应用:这个功能可以用于IDC及CDN网站流量带宽很高,然后通过分析服务器日志哪些元素占用流量过大,进而进行优化裁剪该图片(见老男孩发布的《淘宝的双十一超大流量应对文章点评》),压缩js等措施。
本题需要输出三个指标: 【访问次数】    【访问次数单个文件大小】   【文件名(可以带URL)】
解答:
测试数据

59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:43:56 +0800] "GET /static/images/photos/2.jpg HTTP/1.1" 200 11299 "http://oldboy.blog.51cto.com/static/web/column/17/index.shtml?courseId=43" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
59.33.26.105 - - [08/Dec/2010:15:44:02 +0800] "GET /static/flex/vedioLoading.swf HTTP/1.1" 200 3583 "http://oldboy.blog.51cto.com/static/flex/AdobeVideoPlayer.swf?width=590&height=328&url=/[[DYNAMIC]]/2" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
124.115.4.18 - - [08/Dec/2010:15:44:15 +0800] "GET /?= HTTP/1.1" 200 46232 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/web_js.js HTTP/1.1" 200 4460 "-" "-"
124.115.4.18 - - [08/Dec/2010:15:44:25 +0800] "GET /static/js/jquery.lazyload.js HTTP/1.1" 200 1627 "-" "-"

法一:通过两个数组来计算

因为我们要的最终结果是某个文件的访问次数和消耗的流量,所以考虑建立以文件名为索引的两个数组,一个存储访问次数,一个保存消耗的流量,这样当使用awk按行遍历文件时,对次数数组+1,同时对流量数组进行文件大小的累加,等文件扫描完成,再遍历输出两个数组既可以得到该文件的反问次数和总的流量消耗。

[[email protected] scripts]# awk ‘{array_num[$7]++;array_size[$7]+=$10}END{for(x in array_num){print array_size[x],array_num[x],x}}‘ access_2010-12-8.log |sort -rn -k1|head -10 >1.log

法二:

[[email protected] scripts]# awk ‘{print $7"\t" $10}‘ access_2010-12-8.log|awk ‘{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}‘|sort -rn|head -10 >2.log
[[email protected] scripts]# diff 1.log 2.log
[[email protected] scripts]# cat 1.log
57254 1 /static/js/jquery-jquery-1.3.2.min.js
46232 1 /?=
44286 1 //back/upload/course/2010-10-25-23-48-59-048-18.jpg
33897 3 /static/images/photos/2.jpg
11809 1 /back/upload/teacher/2010-08-30-13-57-43-06210.jpg
10850 1 /back/upload/teacher/2010-08-06-11-39-59-0469.jpg
6417 1 /static/js/addToCart.js
4460 1 /static/js/web_js.js
3583 2 /static/flex/vedioLoading.swf
2686 1 /static/js/default.js

以上转载于李导,感谢李导辛勤付出。

时间: 2024-08-09 09:32:40

网站流量暴涨,如何解决?的相关文章

企业应如何解决网站流量暴增问题?

为什么12306经常崩溃? 根据中国国家铁路集团有限公司的统计显示,铁路系统年售票量已超过31亿张,日售票能力达到1500万张,高峰时每秒售票量达700张,网页浏览量超过1500亿次/天.互联网售票占铁路售票总量的82.8%,12306已经成为世界上规模最大的实时票务交易系统. 如此大数据量的访问,以及瞬时提交订单数量,并发量过高会导致服务器无法正常运转.如果这时,不断有更多的访问与请求进来,那么服务器就会崩溃.相应例子,还有双11.双12等购物节,大家在凌晨进购物平台抢购时,也会出现类似问题.

Linux-某电商网站流量劫持案例分析与思考

[前言] 自腾讯与京东建立了战略合作关系之后,笔者网上购物就首选京东了.某天在家里访问京东首页的时候突然吃惊地发现浏览器突然跳到了第三方网站再回到京东,心里第一个反应就是中木马了. 竟然有这样的事,一定要把木马大卸八块. [原因排查] 首先在重现的情况下抓包,京东官网确实返回了一段Java让浏览器跳转到了yiqifa.com. 下图是应用层的抓包. 服务器返回的代码导致跳转,基本可以排除本地木马,推测是网络或者服务器的问题.根据笔者的经验,这种情况很大可能是链路上的流量劫持攻击.当然也不能排除京

搜索引擎优化优化的年夜前提是了解网站流量的出典

seo是要正在建站之初就理当去搞妥打算的,假如是一度曾经上线了的上网站,要做SEO搜索引擎优化时,那也要先办好搜索引擎优化规划,尔后,遵照妄想形式,过度少的改变网站的问题问题.关头词以及网站的简介,再不让损失踪减到最小.搜索引擎优化是没有能对于网站时常做年夜年夜的行动的.上面是本人拾掇的一些材料指望对于自己有协助 搜索引擎优化优化的年夜前提是体味网站流量的出典 搜索引擎优化优化的年夜前提是熟悉网站流量的出典. 搜索引擎优化优化的年夜前提是了解网站流量的出典.瞄准于没有一样的流量出典选择优化的设计

11月国内网站流量统计:百度夺冠 360安全中心居亚

IDC评述网(idcps.com)12月01日报道:根据中国互联网协会-中国网站排名公布的最新数据显示,截至2014年11月27日,国内网站独立访问量排名前五的是:百度.360安全中心.腾讯网.淘宝网和网易,如下图. 根据上图所示,在11月份期间,五大网站流量排名情况变化较大.其中,360安全中心起伏最大,细看上图,IDC评述网发现:在1日至27日期间,360安全中心的流量先不断攀升,曾一度超越百度,未几开始下降,排名最终从第4升至第2,连跃两级. 另外,百度.腾讯网.淘宝网.网易的流量相对稳定

揭秘Google Analytics网站流量统计指标

引导语:网站流量统计对站长来说不可或缺的工具,一般站长常用的流量统计工具有cnzz,51la.百度.Google Analytics等,确切的说大部分站长都在使用CNZZ,51la等容易上手的平台,百度.Google Analytics等网站流量统计平台用的站长并不多,究其原因是上手稍微难,尤其是Google Analytics. 现在流量统计平台分两类,网站流量"数据统计平台",只是简单提供数据统计,数据分析挖掘服务没提供,比如CNZZ,51la等平台:网站流量"数据挖掘平

网站流量统计(免费的)

我们在网站上经常看到这个图标如下: 这个就是统计当前网站的访问量的,可以查看访问的IP,访问的次数 , 1.CNZZ数据专家网站首页 全球最大的网站统计分析平台 http://www.cnzz.com/ 2.免费注册 3.获取统计代码 4.将统计代码直接粘贴到开发的代码中 一把在底部显示,这段代码放到JSP页面上就可以了 5.查看密码 在网站上,点击统计的图标,进入查看密码页面,需要输入密码,就可以看到本网站的统计量. 设置查看密码: 上述第二步中,有个查看密码,点击进行设置,就可以了. 网站流

刷流量,免费手机在线刷网站流量,刷网站PV,刷博客流量,刷博客访问量

刷流量,免费手机在线刷网站流量,刷网站PV,刷博客(淘宝)流量,刷博客(淘宝)访问量,用手机浏览器或者微信扫以下二维码: 有图有真相:还怕网站每天流量极低的站长们,还有网店的店主们,动动你们的手指,打开手机浏览器或微信扫扫二维码:你会惊讶的看到,手机也能刷网站(网店)流量,网站PV哦!    网站来源:http://www.learnphp.cn

网站流量统计之PV和UV

转自:http://blog.csdn.NET/webdesman/article/details/4062069 如果您是一个站长,或是一个SEO,您一定对于网站统计系统不会陌生,对于SEO新手来说,统计系统中的一些概念不是很清楚,今天讲讲什么是PV和UV! 网站流量统计之UV(Unique Visitor):独立访客,将每个独立上网电脑(以cookie为依据)视为一位访客,一天之内(00:00-24:00),访问您网站的访客数量.一天之内相同cookie的访问只被计算1次. 网站流量统计之P

12月国内网站流量统计5强:360安全中心后来居上

IDC评述网(idcps.com)12月31日报道:根据中国互联网协会-中国网站排名公布的最新数据显示,截至2015年12月28日,国内网站独立访问量五强排名依次是百度.360安全中心.腾讯网.搜狗.微博.具体情况如下图所示: 观察上图,可知在12月期间,国内五大网站流量排名发生变化.变动最大的是360安全中心,其流量波动明显,前半月流量趋于0,后半月急剧飙升,不断超越其他网站,最终获得亚军之位. 相比之下,百度.腾讯网.搜狗.微博的流量表现较为平稳.其中百度始终位居第1,而腾讯网.搜狗.微博则