Server Too Busy 网站负载均衡问题

葫_芦 2007-08-25 02:23:54
用C#开发的3层结构网站;1个web服务器,1个App服务器,2个数据库服务器(做cluster),连接一个SAN存储; 当同时在线用户数量超过3000以后,会出现以下的报错,我想知道,目前那个环节是平静?是数据库服务器,还是web服务器? 如何处理、改善?那种比较适合?谢谢大家了

报错内容如下:

Server Too Busy
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the

error and where it originated in the code.

Exception Details: System.Web.HttpException: Server Too Busy

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be

identified using the exception stack trace below.
...全文
327 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
葫_芦 2007-08-31
  • 打赏
  • 举报
回复
楼上说的连接数是webservice么? 昨天我用“性能”,监控了一段时间;工程有10个webservice项目,这10个都部署在APP 服务器上, 从始至终连接数量就是10;你说的应该是监控web服务器上的数量吧, 这个最大接近1万~~
songle912 2007-08-31
  • 打赏
  • 举报
回复
检查一下App服务器的最大链接数
葫_芦 2007-08-31
  • 打赏
  • 举报
回复
哦,目前的我的网站上的确没有加executionTimeout、appRequestQueueLimit限制。那我想确认一下,如果我在webconfig 中加入了
<httpRuntime executionTimeout="20" appRequestQueueLimit="10000"/> 是不是就起到了,允许最大10000并发数量,20秒超时? 我跟其他一些人员也沟通过,他们怀疑是某个webservice调用时,长时间没有正确响应,造成其他用户访问请求等待,后来就有了并发数量超出限制的情况。 所以,我也想知道,如何设定webservice调用时间? 刚才的那个executionTimeout能起作用么?
ezhuyin 2007-08-30
  • 打赏
  • 举报
回复
也就是说,服务器最多接受N条请求,而当前的请求并发数达到了上限。
ezhuyin 2007-08-30
  • 打赏
  • 举报
回复
MSDN的原话 ,抄了过来

Each virtual directory has a queue that it uses to maintain the availability of worker and I/O threads. The number of requests in this queue increases if the number of available worker threads or available I/O threads falls below the limit specified by <httpRuntime minFreeThreads=/>. When the limit specified by <httpRuntime appRequestQueueLimit=/> is exceeded, the request is rejected with a 503 status code and the client receives an HttpException with the message "Server too busy."
葫_芦 2007-08-30
  • 打赏
  • 举报
回复
这个报错会不会是由于 webservice 调用超时导致的?
xing83 2007-08-25
  • 打赏
  • 举报
回复
asp.net当中有性能计数器,建议你用它详细看看你的应用运行状况。cpu占用低,兴许说明有锁定竞争。
在确定 Web 应用程序性能问题时,下表中列出的性能计数器是非常有用的。
性能对象 性能计数器
ASP.NET Applications Pipeline Instance Count
.NET CLR Exceptions # of Exceps Thrown
System Context Switches/sec

# of Exceps Thrown 计数器显示应用程序中引发的异常数量,因为它们可能会对性能造成不利影响。但是,某些代码路径必须依赖异常才能正常工作。例如,HttpResponse.Redirect 方法始终引发一个无法捕获的异常 ThreadAbortException。因此,使用 Errors Total 计数器跟踪引发的异常数量以查看异常是否在应用程序上生成错误更有用处。

Context Switches/sec 计数器测量 Web 服务器计算机中所有 CPU 切换线程上下文的速率。如果此计数器的数值较大,则表明锁定竞争很激烈,或者线程在用户和内核模式之间频繁切换。可能还需要使用采样分析器和其他工具进行进一步的分析。

全文见http://www.cnblogs.com/cwbboy/archive/2006/05/09/339731.html
葫_芦 2007-08-25
  • 打赏
  • 举报
回复
从web 和App 来看CPU,内存 占用率,都很低~~平均也就10%左右~~内存也不是问题~~~奇怪了,还请知道的人帮忙~~
葫_芦 2007-08-25
  • 打赏
  • 举报
回复
2楼,标记一下回来看? 什么意思?能不能说的详细些,谢谢了~~~~同时我想问一下,和数据库默认的100连接进程有关系么?
lisbates27 2007-08-25
  • 打赏
  • 举报
回复
感觉是web服务器,感觉哈
重典 2007-08-25
  • 打赏
  • 举报
回复
标记一下回来看

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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