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)云计算之路-阿里云上-幸福总是很突然:"黑色1秒"问题解决啦 (2)https: ...

  2. 云计算之路-阿里云上:4000IOPS的RDS+16核CPU的负载均衡

    继续向大家汇报,上周在阿里云的帮助下我们重点解决的是以下两个问题: 1. 在专门跑博客站点的负载均衡中,如果单台云服务器处理的并发请求高(比如超过200 Get Requests/s),CPU有时会出 ...

  3. 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

    在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. "黑色30秒"问题现象的主要特征是:排队的请求(Requests ...

  4. 云计算之路-阿里云上:超级奇怪的“黑色10秒钟”

    自从5月24日发布博文(云计算之路-阿里云上:两个重要突破)之后,情况有了明显改善.但是我们不但没有丝毫的放松,反而变得更加艰苦.我们被一个非常非常奇怪的问题所困扰,这段时间我们与阿里云一起在努力与之 ...

  5. 云计算之路-阿里云上:愚人节被阿里云OCS愚

    2019独角兽企业重金招聘Python工程师标准>>> 今天是愚人节,而我们却被阿里云OCS愚,很多地方的缓存一直不过期,造成很多页面中的数据一直不更新.这篇博文将向您分享我们这两天 ...

  6. 云计算之路-阿里云上:在乌云中坚信蓝天

    继续向大家汇报阿里云上的天气变化情况.今天(5月8日)上午糟糕的天气(8:30~9:50,10:50~11:40)给大家逛园带来了很大的麻烦,请谅解! 早上8:30左右由于阿里云RDS出现突发故障(故 ...

  7. 云计算之路-阿里云上:2013年4月7日14:15~18:35服务器故障经过

    无地自容的道歉之后,向大家汇报一下故障的整个经过.在此再次向大家表示歉意,望大家能谅解! 14:15,有园友在闪存上说博客后台不能发布博文(见下图). 14:17左右,我们看到了这条闪存.立即进入博客 ...

  8. 云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core

    在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 帐户 连接数 A 4077 B 3995 C 741 D 698 E ...

  9. 云计算之路-阿里云上:基于Xen的IO模型进一步分析“黑色0.1秒”问题

    在发现云服务器读取OCS缓存的"黑色0.1秒"是发生在socket读取数据时,而且是发生在读取开始的字节,甚至在socket写数据时(比如写入缓存key)也会出现超过50ms的情况 ...

最新文章

  1. IBM Thinkpad T43-44U 升级到 2G 内存后少了 66M
  2. OrgChart 组织架构与PHP结合使用
  3. 传递给后台的Json数据解析
  4. [UE4]修改相机裁剪距离
  5. MyBatis-07MyBatis注解方式之@Select
  6. 使用Silverlight Toolkit绘制图表(上)--柱状图
  7. Crystal Reports basic for Visual Studio 2008部署
  8. Codeforces Round #609 (Div. 2) D. Domino for Young 黑白染色
  9. REVERSE-PRACTICE-CTFSHOW-6
  10. 辽宁师范大学计算机学院邹丽,邹丽(运载工程与力学学部)老师 - 大连理工大学 - 院校大全...
  11. MPEG-4视频编码核心思想
  12. ANDROID开机动画分析
  13. vue实现密码的表单验证~(旧密码,新密码,重复新密码)
  14. [codeup 2143] 迷瘴
  15. 迷茫的青春,迷茫的方向
  16. 2014年5月份第1周51Aspx源码发布详情
  17. 工作记录 io流写入linux文件
  18. Niagara内容示例 1.3 Simple GPU Emitter
  19. 企业员工生日提醒短信怎么发送
  20. 电动汽车充电站选址定容软件简单实现

热门文章

  1. Python标准库03 路径与文件 (os.path包, glob包)
  2. 指针数组(主要用于二维的数组)
  3. BP神经网络预测实例
  4. java 字符正则匹配算法_算法之字符串——正则表达式匹配
  5. java dto是什么_java项目中VO和DTO以及Entity,各自是在什么情况下应用的
  6. java运行机制是什么_JAVA运行机制
  7. 引入 ServletContextListener @Autowired null 解决办法
  8. Luffy之Xadmin以及首页搭建(轮播图,导航)
  9. linux开启nscd服务缓存加速
  10. 【Python机器学习时间指南】一、Python机器学习的生态系统