如何定制server is too busy的错误信息?

游北亮
博客专家认证
2011-05-19 10:33:51
最近服务器比较频繁出现server is too busy的错误信息,项目正在优化中,但是也不希望这个错误出现在用户界面上,想显示一个友好的错误信息,
在网上找到cnblog站长dudu的文章:
http://www.cnblogs.com/dudu/archive/2005/10/19/257479.html

经测试,没有效果,请大侠指点,如何才能实现友好错误信息?

注:修改IIS网站的自定义错误,也没有效果
因为在server is too busy错误出现时,静态页面访问是正常的
...全文
143 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
游北亮 2011-05-25
  • 打赏
  • 举报
回复
无满意答案,散分
  • 打赏
  • 举报
回复
如果想解决表面的话,重启数据库应该能起到暂时的作用,
如果想要有好提示的话,判断下加载时的HTML代码应该是可以办到的
如果想解决本质的话,比如做做数据集群,数据太多,是否考虑要删除一些不必要的东西什么的。。具体这也是一门专业我也不太清楚数据库优化方面的
  • 打赏
  • 举报
回复
server is too busy 是数据库的问题,你可以从数据库的优化上直接入手
myhope88 2011-05-19
  • 打赏
  • 举报
回复
这种错误也是偶尔的吧,我也不清楚怎么控制到
游北亮 2011-05-19
  • 打赏
  • 举报
回复
好像没有效果,我设置appRequestQueueLimit为10,应用程序池队列也设置为10
并在代码里加上:
Thread.Sleep(TimeSpan.FromDays(1));

然后开始发起10个以上的请求,这些请求都是一直加载中状态

[Quote=引用 3 楼 rock870210 的回复:]
引用 2 楼 youbl 的回复:
顺便请教一个问题:如何在测试环境下,模拟出Server is too busy的现象?

这个在后台代码中线程休眠即可
[/Quote]
Rock870210 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 youbl 的回复:]
顺便请教一个问题:如何在测试环境下,模拟出Server is too busy的现象?
[/Quote]
这个在后台代码中线程休眠即可
游北亮 2011-05-19
  • 打赏
  • 举报
回复
顺便请教一个问题:如何在测试环境下,模拟出Server is too busy的现象?
游北亮 2011-05-19
  • 打赏
  • 举报
回复
在微软网站:http://msdn.microsoft.com/en-us/library/ms972959.aspx
看到一句话:
requests will be rejected with a 503 status code and the message "Server is too busy." If a request is rejected for this reason, it will never reach managed code, and error handlers will not be notified.

所以不明白dudu站长怎么可以实现这个目的的
HDNGO 2011-05-19
  • 打赏
  • 举报
回复
HttpContext.Response.StatusCode = 1001;
throw new HttpException(1001,"server is too busy");
HDNGO 2011-05-19
  • 打赏
  • 举报
回复
HttpContext.Response.StatusCode = 1001;
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 youbl 的回复:]
appRequestQueueLimit为10,应用程序池队列也设置为10,后台代码用
Thread.Sleep(TimeSpan.FromSeconds(10));

然后发起1000个线程用WebRequest去请求,
结果186个请求得到正常响应
209个响应表示超时
605个响应返回503 服务器不可用

有点奇怪,为什么busy就是不出来
[/Quote]
buzhidao了
游北亮 2011-05-19
  • 打赏
  • 举报
回复
appRequestQueueLimit为10,应用程序池队列也设置为10,后台代码用
Thread.Sleep(TimeSpan.FromSeconds(10));

然后发起1000个线程用WebRequest去请求,
结果186个请求得到正常响应
209个响应表示超时
605个响应返回503 服务器不可用

有点奇怪,为什么busy就是不出来
游北亮 2011-05-19
  • 打赏
  • 举报
回复
是的,下面的配置没有作用
<customErrors mode="On" defaultRedirect="http://站点2/error/1.shtml">
<error statusCode="403" redirect="http://站点2/error/2.shtml"/>
<error statusCode="404" redirect="http://站点2/error/3.shtml"/>
<error statusCode="503" redirect="http://站点2/error/4.shtml"/>
</customErrors>

[Quote=引用 9 楼 porschev 的回复:]
配置文件设置503不管用?
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 youbl 的回复:]
谢谢,不过现在不是考虑优化的问题
而是请教如何展示友好错误界面


引用 7 楼 dianachen2 的回复:
如果想解决表面的话,重启数据库应该能起到暂时的作用,
如果想要有好提示的话,判断下加载时的HTML代码应该是可以办到的
如果想解决本质的话,比如做做数据集群,数据太多,是否考虑要删除一些不必要的东西什么的。。具体这也是一门专业我也不太清楚数据库优化方面的
[/Quote]

改配置文件的<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="1.htm" />
<error statusCode="404" redirect="2.htm" />
<error statusCode="503" redirect="3.htm" />

</customErrors>
porschev 2011-05-19
  • 打赏
  • 举报
回复

配置文件设置503不管用?
游北亮 2011-05-19
  • 打赏
  • 举报
回复
谢谢,不过现在不是考虑优化的问题
而是请教如何展示友好错误界面

[Quote=引用 7 楼 dianachen2 的回复:]
如果想解决表面的话,重启数据库应该能起到暂时的作用,
如果想要有好提示的话,判断下加载时的HTML代码应该是可以办到的
如果想解决本质的话,比如做做数据集群,数据太多,是否考虑要删除一些不必要的东西什么的。。具体这也是一门专业我也不太清楚数据库优化方面的
[/Quote]

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧