云计算之路-阿里云上:一场暴风雨的袭击
2013年6月13日晚10点左右,一场暴风雨(突发的非正常流量)突袭园子,造成满园尽是500。
这次风暴给大家带来了麻烦,恳请大家的谅解!在这篇博文中,我们向大家汇报一下暴风雨的袭击过程。
当发现问题后,我们立即登录上云服务器发现巨量的请求扑向云服务器,将云服务器的CPU撑爆,奇怪的是这些请求访问的竟然不是我们的域名。
原来是有人将域名解析到了我们的IP,针对这个域名的大量请求全部转向了我们的Web服务器,暴风雨就是这么来的。
虽然我们在程序中会对这种情况(请求的域名不匹配)直接返回404错误,但这次请求量太大,云服务器的CPU撑不住,从而引发了500错误。
*思考:
- 如果阿里云能提供云服务器的CPU占用报警功能,就能更及时地发现这种异常情况。
- 如果阿里云能实现真正的计算能力弹性扩展,就能在CPU跑满的情况下自动增加CPU,减少突增请求对网站正常访问的影响。如果按照现在的方式,发现CPU不够用的时候再购买云服务器、配置、部署,黄花菜都凉了。
- 在非常高并发的情况下,托管代码还是有些力不从心,证据来自——我们后来用非托管的IIS URL Rewrite Module解决了问题。
由于我们用了阿里云SLB(七层负载均衡),请求是由SLB转发过来的,所以我们想到了让阿里云通过SLB屏蔽针对这个域名的请求,但阿里云客服说SLB目前没有这个功能。
为了尽快让网站恢复正常,我们先通过IIS域名绑定的方式屏蔽异常域名的请求,让www.cnblogs.com的访问恢复正常。但这样的情况下,通过cmt.cnblogs.com这样的二级域名就不能正常访问。
后来,我们改用IIS URL Rewrite Module屏蔽了异常域名的请求。
<rule name="BlockForeignDomain" enabled="true" stopProcessing="true"> <match url=".*" /><conditions><add input="{HTTP_HOST}" pattern="^.*?\.?cnblogs\.com$" negate="true" /><add input="{HTTP_HOST}" pattern="^\d+\.\d+\.\d+\.\d+$" negate="true" /></conditions><action type="AbortRequest" /> </rule>
通过云服务器上的屏蔽策略,消除了500错误。但此后的访问还时不时会出现502 Bad Gateway错误:
虽然在云服务器层屏蔽了异常域名的请求,但巨量的请求依然会给阿里云SLB(七层负载均衡)带来巨大的压力,502错误是SLB引起的。
后来阿里云开启了SLB的流量清洗,但问题还是存在。
最终切换了SLB(换IP)才解决问题。
相关博文:满园尽是503,记曾经的一次IIS 7性能考验
转载于:https://www.cnblogs.com/cmt/archive/2013/06/14/3135282.html
云计算之路-阿里云上:一场暴风雨的袭击相关推荐
- 云计算之路-阿里云上-幸福总是很突然:“黑色1秒”问题解决啦
云计算之路-阿里云上-幸福总是很突然:"黑色1秒"问题解决啦 参考文章: (1)云计算之路-阿里云上-幸福总是很突然:"黑色1秒"问题解决啦 (2)https: ...
- 云计算之路-阿里云上:4000IOPS的RDS+16核CPU的负载均衡
继续向大家汇报,上周在阿里云的帮助下我们重点解决的是以下两个问题: 1. 在专门跑博客站点的负载均衡中,如果单台云服务器处理的并发请求高(比如超过200 Get Requests/s),CPU有时会出 ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. "黑色30秒"问题现象的主要特征是:排队的请求(Requests ...
- 云计算之路-阿里云上:超级奇怪的“黑色10秒钟”
自从5月24日发布博文(云计算之路-阿里云上:两个重要突破)之后,情况有了明显改善.但是我们不但没有丝毫的放松,反而变得更加艰苦.我们被一个非常非常奇怪的问题所困扰,这段时间我们与阿里云一起在努力与之 ...
- 云计算之路-阿里云上:愚人节被阿里云OCS愚
2019独角兽企业重金招聘Python工程师标准>>> 今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新.这篇博文将向您分享我们这两天 ...
- 云计算之路-阿里云上:在乌云中坚信蓝天
继续向大家汇报阿里云上的天气变化情况.今天(5月8日)上午糟糕的天气(8:30~9:50,10:50~11:40)给大家逛园带来了很大的麻烦,请谅解! 早上8:30左右由于阿里云RDS出现突发故障(故 ...
- 云计算之路-阿里云上:2013年4月7日14:15~18:35服务器故障经过
无地自容的道歉之后,向大家汇报一下故障的整个经过.在此再次向大家表示歉意,望大家能谅解! 14:15,有园友在闪存上说博客后台不能发布博文(见下图). 14:17左右,我们看到了这条闪存.立即进入博客 ...
- 云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core
在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 帐户 连接数 A 4077 B 3995 C 741 D 698 E ...
- 云计算之路-阿里云上:基于Xen的IO模型进一步分析“黑色0.1秒”问题
在发现云服务器读取OCS缓存的"黑色0.1秒"是发生在socket读取数据时,而且是发生在读取开始的字节,甚至在socket写数据时(比如写入缓存key)也会出现超过50ms的情况 ...
最新文章
- IBM Thinkpad T43-44U 升级到 2G 内存后少了 66M
- OrgChart 组织架构与PHP结合使用
- 传递给后台的Json数据解析
- [UE4]修改相机裁剪距离
- MyBatis-07MyBatis注解方式之@Select
- 使用Silverlight Toolkit绘制图表(上)--柱状图
- Crystal Reports basic for Visual Studio 2008部署
- Codeforces Round #609 (Div. 2) D. Domino for Young 黑白染色
- REVERSE-PRACTICE-CTFSHOW-6
- 辽宁师范大学计算机学院邹丽,邹丽(运载工程与力学学部)老师 - 大连理工大学 - 院校大全...
- MPEG-4视频编码核心思想
- ANDROID开机动画分析
- vue实现密码的表单验证~(旧密码,新密码,重复新密码)
- [codeup 2143] 迷瘴
- 迷茫的青春,迷茫的方向
- 2014年5月份第1周51Aspx源码发布详情
- 工作记录 io流写入linux文件
- Niagara内容示例 1.3 Simple GPU Emitter
- 企业员工生日提醒短信怎么发送
- 电动汽车充电站选址定容软件简单实现
热门文章
- Python标准库03 路径与文件 (os.path包, glob包)
- 指针数组(主要用于二维的数组)
- BP神经网络预测实例
- java 字符正则匹配算法_算法之字符串——正则表达式匹配
- java dto是什么_java项目中VO和DTO以及Entity,各自是在什么情况下应用的
- java运行机制是什么_JAVA运行机制
- 引入 ServletContextListener @Autowired null 解决办法
- Luffy之Xadmin以及首页搭建(轮播图,导航)
- linux开启nscd服务缓存加速
- 【Python机器学习时间指南】一、Python机器学习的生态系统