为什么会出现System.Web.HttpException: 服务器太忙呢?但是以前用的好好的,代码也没动过,应用程序池也做了相应的定时回收,重启IIS就可以了,但是这不是根本解决办法上午好了一下,下午又出现了,查看了代码资源该释放的地方也已经释放了,服务器的操作系统是2003的。请问大家碰到过这样的情况没?如何解决啊?谢谢!!

解决方案 »

  1.   

    <system.web> 
    <!-- 指示 ASP.NET 支持的最大文件上载大小。 
    该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。 
    指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。 
    此处改为40M大小的文件上传限制。 
    --> 
    <httpRuntime maxRequestLength = "40960" useFullyQualifiedRedirectUrl="true"/> 
    </system.web>
      

  2.   

    try to modify httpRuntime element, set larger minFreeThreads/minFreeLocalRequestFreeThreads/appRequestQueueLimit
    <configuration>
       <system.web>
          <httpRuntime maxRequestLength="4000"
             useFullyQualifiedRedirectUrl="true"
             executionTimeout="45"/>
       </system.web>
    </configuration>
    use performance monitor to monitor your serverhttp://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/aaconmonitoringaspnetwebapplications.asphttp://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/windowsserver2003/proddocs/standard/aaconperformancecountersforaspnet.asp
      

  3.   

    首先确定 不是 程序 死锁等 造成的错误保证IIS允许的访问链接数量 在服务器的 承受范围内.对于大文件的 上传 还是使用FTP操作为好
      

  4.   

    http://www.microsoft.com/china/MSDN/library/archives/library/dnService/html/Service07222003.asp最好使用asp.net2.0开发,不要使用asp.net1.1。如果一定要用,把 appRequestQueueLimit 参数加大一倍,并且在global.ascx中设置性能器监视器(跟踪30分钟)分析哪些页面比较能捣乱。
      

  5.   

    或者:http://blog.joycode.com/hopeq/archive/2005/12/23/69416.aspx
      

  6.   

    当然最应该做的是请人对单个的aspx作比较专业的压力测试。
      

  7.   

    最好的法子是在 hang模式下获取进程内存转储(dump)来分析原因,同时还要配合性能计数器数据如果是我说的第一种情况,加大线程池和请求队列都是没有用的
      

  8.   

    如果是xp作服务器是有限制的,则只能承载10个用户,
    如果是用服务器版本的windows操作系统,则你的网站访问量太大了,优化一下代码吧