3月29日,国内最大且最纯粹的中文技术社区之一博客园发布故障公告:下班前的暴雨,爬虫爬至园子宕机。到底是什么样的蜘蛛能让咱们的园子连续宕机呢?下面咱们就来瞧瞧到底是怎么回事儿。
说明:下面的文案内容均来自 博客园官方博客。
3月25日第1次蜘蛛爬虫事故
今天12点上下,它又来了,熟练的恐怖身影(116开头IP段、山西的某个城市),不是cc攻击,是那只令人“敬畏”的蜘蛛。
2022年4月3日,它的首次来访在园子里掀起暴风暴浪,数据库连接数过万,负载平衡带宽跑满,带宽扩容50%依然跑满,当时咱们经过限制同一个IP每日的请求数侥幸躲过。
2022年5月4日,它如同吃了兴奋剂般变得格外疯狂,因为触发IP请求数限制被重定向到登录站点,但它那龙卷风般的天量请求直接冲垮登录站点,无奈之下,咱们屏蔽了这个IP网段。
它有成千上万的IP,咱们屏蔽的IP网段仅有255个IP,看索引量无大的变化,咱们天真地以为影响不大,却不知因此呢得罪了中文互联网的老大。
得罪老大的后果便是:园子遭遇2022年最悲惨的境遇——被它拉黑,在搜索结果中对园子全面降权,让咱们切身体会老大的厉害。
懊悔自己的天真,感叹老大的厉害,咱们亡羊补牢以求老大网开一面——放开了被屏蔽的IP网段。
解除屏蔽后观察了1-2月,搜索流量并无显著的回升,看来这次真的是惹怒了老大,咱们会懊悔莫及,见识了真正霸气的老大不会给你悔过的机会。
在观察时期,咱们有了一个惊人的发掘——每日光临园子最多的竟然是它,每日竟然拜访1000多万次,园子的博文总数亦就在1000万篇上下,日理万机的它竟然会每日看园子的每篇博文,难道准备以后改行当程序员?
接着,咱们又有一个发掘,每日千万次的拜访竟然消耗了园子近一半的带宽花费,针对囊中羞涩的园子来讲有点吃不消,每日让它看园子的每篇博文,还得给它倒贴带宽费,况且在搜索排名中继续被拉黑着。
于是,咱们采取了一个应对之策,专门供给一个负载平衡给它拜访并限制了峰值带宽,这般不仅能够掌控带宽花费,况且在它发飙的时候能够减少宕机。
从去年到今天晌午,它被咱们这个对应之策经过专用负载平衡关进笼子里,即使被限制了带宽,它亦会非常多时候给园子带来3000-4000的QPS,因此来个cc攻击,园子就格外难以撑住。
今天晌午,恐怖的事情出现了,它起始不遵守针对搜索引擎的dns解析,从笼子里跑出来了!
近一年后它依然如此彪悍,如此毫无忌惮,园子依然扛不住,除非屏蔽 IP 段,但又不敢再次得罪依然威风凛凛的老大,日前只是临时限制它所拜访的负载平衡的带宽,但这会让拜访这些负载平衡的正常用户受影响。
非常抱歉,这个突发问题给您带来了麻烦,咱们正在进一步想办法,争取找到更好的处理办法。
【16:30】刚才试着放开有些带宽,数据库连接数火速飙升,这种并发疯狂爬取区别博文,缓存发挥不了功效。
【16:50】这只蜘蛛今天已疯,咱们不想陪着疯,已暂时屏蔽去年屏蔽过的那个网段,屏蔽后马上恢复正常。如此疯狂的爬取已然和cc攻击没什么区别了。
【19:15】今年2月,咱们经过“百度搜索资源平台-反馈中心”反馈“抓取频次高的离谱,百度蜘蛛每秒请求数(QPS)竟然高达4000多”问题,百度客户竟然回复让咱们“自查整改”,吓得咱们再亦不敢向百度客服反馈问题了。
【19:30】在被全面降权后,咱们被自己的经历惊呆了,百度不打一声招呼随手一掐,每日几百万的搜索流量就没了。倘若是一家依赖搜索流量的机构,百度能够随时要这家机构的命,园子由于不依赖百度流量而躲过一劫。
【20:10】又想起一则百度蜘蛛的故事,那是在2021年,百度蜘蛛模拟区别移动端屏幕尺寸的用户每日以超过百万的 UV 访问园子,但 UA 却不带百度蜘蛛的标识(运用的是正常用户移动端浏览器的UA),导致GA这般的拜访统计软件识别不出来,从而严重干扰了统计数据的准确性。
3月29日第二次蜘蛛爬虫事故
下班前的一场暴风雨,让园子一片狼藉。顶着暴风雨,加了服务器,但无济于事。情急之中,断蛛求生立转机。
今天下班前的 17:00~17:30 上下,身份未明的爬虫暴风雨般地袭击园子,导致数据库连接过万,全站宕机,由此给您带来很大的麻烦,请您谅解。
最后咱们经过给百度蜘蛛断网才恢复正常,导致暴风雨的爬虫不必定是百度蜘蛛,因为缺乏足够的数据,这次袭击园子的爬虫身份没法确认。
给百度蜘蛛断网,是为了减少服务器的总负载,在上次故障时咱们只屏蔽了一个网段(255个IP)的百度蜘蛛,还有海量百度蜘蛛每日在园子里爬来爬去,虽然这些蜘蛛被关在笼子里(限制了带宽),但依然会给服务器带来不小的压力,让园子在暴风雨来袭时格外弱不禁风。
百度蜘蛛专用负载平衡 QPS 监控图:
非常抱歉!园子这段时间故障有点多。
曾经的一系列故障公告,是咱们鲁莽走进云计算时代初期的痛苦代价。
此刻还未成系列的故障公告,亦许是 AI 时代即将到来的被代价。
不管怎么样,不管是代价还是被代价,AI 时代真的要来了。
【更新】
3-30 11:40 上下:又显现数据库连接数飙升问题,又是经过给百度蜘蛛断网恢复正常。
3-30 12:10 上下:试着解除百度蜘蛛的断网,放出后 pod CPU 与数据库连接数马上飞快提升,只能继续拉闸。
3-30 12:30 上下:将百度蜘蛛专用负载平衡的带宽限制由130M大幅下调至50M,再次放出百度蜘蛛进行观察。数据库连接数由1700上下提升至3000上下,这个连接数在能够承受的范围。12:40 上下能够起始,数据库连接数稳定在2000上下。
3-30 14:20 上下:数据库连接数拉伸至4000多,将百度蜘蛛专用负载平衡的带宽限制进一步下调至30M,并增多1台服务器,让数据库连接数的拉升变成为了过山车。
3-30 14:50 上下:数据库连接数飙升至7000多,部分 pod CPU 过载,给百度蜘蛛断网,并屏蔽了来自微软 azure 的一个网段 40.*.*.0/24 ,才掌控住。
3-30 15:05 上下:数据库连接数又飙升至6000多,追加来自微软 azure 的一个网段 157.*.0.0/16,才再次掌控住。
3-30 15:17 更新:从日前状况看,针对今天下午显现的问题,屏蔽微软 azure 网段效果最显著。
3-30 16:05 更新:经过 dns 反向解析确认被屏蔽的 azure 网段是微软 bing 爬虫之一 msnbot 所运用。
博客园的商场化奋斗开局
4月2日,博客园官方发布了《园子的商场化奋斗-开篇:绝境求商》一文,咱们看到园子日前正在推进的商场化奋斗,毕竟情怀不可当饭吃。
下面便是该文案的原文内容:
2021年的一场危险,给园子来了个做梦亦没想到的忽然袭击,让园子一片狼藉。
2022年的双重困境,让园子在暴风雨之后再添卑劣天气,不给园子一点喘息之机。
2023年困难重重的开局,将园子陷于看不到雨后彩虹的绝地,逼着园子唯有奋起出击。
今年是园子商场化奋斗生死攸关的一年,咱们将在自己认可的商场化方向上奋力探索,全力以赴找到园子的商场化出路,并开启园子现代化升级的新周期。 ▼
美团叠加红包|点击领取
美团9元神券点击领取 杨幂代言,超大硬菜满减券!▼
↑↑长按二维码获取大额满减↑↑
饿了么幸运红包|点击领取 ↑↑每日都可领 顿顿都省钱↑↑饿了么翻3倍红包,必定要领保留上方二维码,而后打开饿了么APP找到“扫一扫”→识别就可
|