满园尽是503,记曾经的一次IIS 7性能考验

博客园遭遇因外部网站大量引用其图片导致的流量风暴,IIS7难以承受并发请求,通过调整配置及使用ISAPI_Rewrite进行重定向最终解决问题。

在一个漆黑的夜晚,伸手不见五指,一个黑衣人偷偷潜入博客园的图片库,放了一些图片,然后迅速消失在黑幕中...

在人山人海的淘宝网,也出现了一个黑衣人,在淘宝网的产品库中,将一些产品展示页面中的素材图片指向了博客园图片库中的图片...

2010061309590569.jpg

史上最强的一次风暴席卷整个博客园,巨量的访问请求涌向博客园,访问速度越来越慢,然后就是“满园尽是503”。

2010061310042554.jpg

IIS 7的同时连接达到了设置的上限20000,上限改为3万,同时连接立即达到3万,改为5万,同时连接立即会达到3万...

开始以为是拒绝服务攻击(DDOS),后来发现是“黑衣人”上传的图片,淘宝网上很多页面引用了这些图片...

找到了原因,原以为可以轻松地解决问题,将这些图片移走就会风平浪静,雨过天晴。哪知,图片不在,503依旧...

这样都不行,几乎让人崩溃了。图片请求是由IIS7的StaticFileModule(位于%windir%\System32\inetsrv\static.dll)处理的,虽然图片不存在,但对于这么大的请求,IIS 7仅仅是接受请求,检查文件是否存在,然后返回404这样的处理都顶不住。只要淘宝上的图片引用存在,503将一直继续,难道只有联系淘宝处理这些图片引用。即使淘宝处理了图片引用,但以后只要谁在访问量大的网站放一个不存在的指向博客园的链接,IIS还是处理不了。根本的解决办法还是要能应对这样的巨量请求。

这时,博客园团队中有一个人急中生智,说试试通过ISAPI_Rewrite对图片请求进行重定向。当时想连微软自己的IIS7都处理不了,难道由第三方写的ISAPI Filter能处理。不管怎么样,试试这个方法吧。不试不知道,试了吓一跳,在ISAPI_Rewrite的http.ini中写了重定向规则(重定向至淘宝网站)之后,奇迹出现了,问题解决了。

2010061310500027.jpg

好了,这篇随笔目的就是把博客园实际遇到过的一个问题与大家分享,希望能给大家带来一点收获与思考。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值