这个问题ServerIsTooBusy

serveristoobusy  时间:2021-02-26  阅读:()

http://bbs.faloo.com/doc/104990/1.html

当你访问博客园出现“Server Error in'/'Application.Runtime Error.”的错误时你知道这个错误的背后是什么吗?你也许会想博客园怎么不设计个定制错误页面这样的错误页面让访问者不知所措只能抱怨“服务器出问题了”。当出现这个问题时我急啊!真想站到互联网上拿着大喇叭对大家喊我刚更新了程序或者修改了web.config的设置 asp.net在进行首次编译在编译的同时还要处理大量的请求忙不过来只能拒绝请求实际的错误信息是"Server Too Busy"错误来自HttRuntime的Rej ectRequestInternal方法。你也许会说用customErrors页面处理一下啊可是HttRunti me 已经拒绝了这个请求重定向到defaultRedirect定制错误页面还是被拒绝结果就出现“S erver Error in'/'Application.RuntimeError.”错误。这个问题困扰我很长时间当更新程序(或者修改web.config的设置、应用程序池回收、 IIS重启)时就会出现这个问题尤其是访问高峰期要几分种才能恢复正常郁闷!要是在这时显示一个友好的错误显示页面那该多好啊!今天晚上更新程序时又遇到这个问题。我再次下决心要解决这个问题。

要解决问题首先要分析出为什么会出现问题。既然是HttRunti me抛出的异常那就从HttRuntime下手。怎么下手呢用强大的Reflector工具微软这点做的不错很多.NET类库都可以通过Re fl ector工具查看源代码。通过分析HttRunti me的源代码我找到了问题的原因这里我简单地描述了一下

做人要厚道转载请注明来自飞卢(faloo.com)

Re:定制“Server Too Busy”错误信息

接着就是异常的处理 向客户端浏览器显示异常信息调用Fini shReque st,在Fini sh中调用context.Re s p ons e.Rep ortRuntimeError(e, true)显示异常信息 Rep ortRuntimeError会根据web.config中的CustomErrors设置决定是否重定向到de faultRedirect。

当你设置CustomErrors的defaultRedirect来定制处理异常信息时 如果遇到"Server_too_busy"就麻烦了重定向到错误处理页面后又被HttpRuntime拒绝拒绝后又被重定向到defaultRedirect页面HttpRuntime 《———》HttpRuntime..... 似乎进入了一种恶性循环。原来问题有这么严重写文章之前我还没想到写到这我才发现。这样不停的来回CPU岂不累死当CPU累的不行时就随便抛出一个其他异常:)也就是“ServerError in'/'Application.Runtime Error.”这个异常我没找到在哪抛出的。难道在首次编译时 CPU占用很高与这个也有关系。我更新博客园服务器上的程序时要几分钟才能恢复正常而这时CPU基本是满负荷工作难道也是这个问题引起我想明天在访问高峰期测试一下就能得到证实。这似乎是设计者的一个疏忽 正确的做法应该是对于"Server_too_busy"异常不管用户是否设置了 defaultRedirect,都不应该去重定向到defaultRedirect而是直接向客户端发送异常信息这是一个很特殊的情况设计者在设计时可能没考虑到。

Re:定制“Server Too Busy”错误信息

在写文章之前我并没有发觉这个问题如此严重。但我想到了一个另类的解决方法既然发生"S erver_to o_busy"时 HttpRuntime不会处理任何请求那该Web应用程序中再怎么处理也是无济于事的 我们从其他地方找突破口发生"Server_too_busy"异常时重定向到de faultRe direct会带来严重的问题但却可以利用这一点把问题化解为解决方法这个解决方法就是将defaultRe direct设置为另外一个网站的地址既然这个网站拒绝处理请求那我把请求转给另外一个网站总可以吧 由另外一个网站来显示友好的错误信息这样不仅解决了定制“Server Too Busy”错误信息的问题而且可以减少对主网站的请求让主网站有更多的时间处理当前的任务。比如博客园现在就建立了一个sorry.cnblogs.com的站点将de faultRe direct设置为这个站点。这个方法另类吧!

有了这个方法我们以后就不怕"Server_too_busy"了可以轻松更新程序、修改web.config,只要将defaultRe dire ct的页面设计得让大家觉得等几分钟也不难受就行了。比如放一段美妙的音乐、笑话、搞笑图片、激情电影 当然过份的网站也许会放广告。

TTcloud(月$70)E3-1270V3 8GB内存 10Mbps带宽 ,日本独立服务器

关于TTCLOUD服务商在今年初的时候有介绍过一次,而且对于他们家的美国圣何塞服务器有过简单的测评,这个服务商主要是提供独立服务器业务的。目前托管硬件已经达到5000台服务器或节点,主要经营圣何塞,洛杉矶以及日本东京三个地区的数据中心业务。这次看到商家有推出了新上架的日本独立服务器促销活动,价格 $70/月起,季付送10Mbps带宽。也可以跟进客户的需求进行各种DIY定制。内存CPU硬盘流量带宽价...

lcloud零云:沪港IPLC,70元/月/200Mbps端口/共享IPv4/KVM;成都/德阳/雅安独立服务器低至400元/月起

lcloud怎么样?lcloud零云,UOVZ新开的子站,现在沪港iplc KVM VPS有端午节优惠,年付双倍流量,200Mbps带宽,性价比高。100Mbps带宽,500GB月流量,10个,512MB内存,优惠后月付70元,年付700元。另有国内独立服务器租用,泉州、佛山、成都、德阳、雅安独立服务器低至400元/月起!点击进入:lcloud官方网站地址lcloud零云优惠码:优惠码:bMVbR...

CloudCone:洛杉矶MC机房KVM月付1.99美元起,支持支付宝/PayPal

CloudCone是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,譬如常规VPS、大硬盘VPS等等,数据中心在洛杉矶MC机房。商家2021年Flash Sale活动继续,最低每月1.99美元,支持7天退款到账户,支持使用PayPal或者支付宝付款,先充值后下单的方式。下面列出几款VPS主机配置信息。CPU:1core内存:768MB...

serveristoobusy为你推荐
微信对骂群对方在微信群里骂人让他负法律责任,准备哪些iphone360手机卫士iphone怎么安装360安全卫士?微信如何建群在微信里怎么创建一个群别人可以加入扫描二维码的加入办公协同软件协同企业办公的软件有哪些?开机滚动条如何关闭开机滚动条?xv播放器下载xv播放器怎么下载?淘宝网页显示不正常淘宝网页不能正常显示ejb开发什么是EJB?它是干什么的?和JAVA,JSP有关系吗?他们各有什么特点和用途?网站优化方案网站优化方案如何写?如何清理ie缓存怎么清理IE缓存
vps动态ip 中国域名网 美国主机论坛 la域名 godaddy优惠码 紫田 表单样式 tk域名 浙江独立 微信收钱 大容量存储器 howfile 国外代理服务器地址 vip购优惠 傲盾官网 电信主机 能外链的相册 linode支付宝 日本代理ip 阿里云邮箱登陆 更多