我们服务器上放过3,4个网站 有asp.net 也有asp的,近两个月来总发生如下奇怪问题:运行个三四天 网页就无法访问数据库了,报错 数据库连接问题,(静态网页没问题,应该不是iis的事) 但是 我重启服务器,就又好了,再过个三四天 就有出错了,请问各位高手是否遇到过类似的问题,如何解决?啥原因造成的?谢谢指教

解决方案 »

  1.   

    数据库连接池到上限了,有可能是数据库操作语句不够优化,造成的内存,CPU占用过高!
      

  2.   

    呵呵,不了解服务器我本身是asp.net的,微软留下了一些高级的API,估计是这些asp.net程序作了手脚,楼主在出问题后,可以查看一下服务器的性能,如内存使用量,CPU使用率等等数据库链接不上,估计是数据库链接池的违规配置或操作,当然,我也不清楚是不是这么一回事,我只是感觉而已
    如果确实是程序问题,就IIS那一个个网站地屏蔽停止,屏蔽一个后,试着运行别的站,直到屏蔽到造成原因的那一个
      

  3.   

    asp.net程序中有未释放的内存或链接数据库后未关闭数据库
      

  4.   

    第一:你应该贴出错误的信息和stack。
    第二:很可能是数据库连接没有关闭或者其他数据库资源没有释放。
      

  5.   

    对了,说一下数据库链接池吧,这个微软留下了API,让用户可以配置最小数量的可用的链接池,也就是时刻保持连接状态的链接对象(很耗系统资源的,但能保证网站的运行速度)不过很多情况下我们配置的最小链接池里可用链接对象数为0,这样就在没人访问网站的时候,不占用系统资源,一般像大型网站,或者访问量大的中型站,页面与数据库交互非常非常频繁时,才加大链接池的最小可用链接对象数目提醒一下各位玩asp.net的,虽说微软留下这个API来让我们调用,使我们的程序运行速度时刻加速,但我们要保持好点人品,别动不动就玩这种无懒招数,如果程序是自己一个服务器,则没事,但如果是与别人的站共用服务器时,就害惨别的程序了,你配置链接池,再使用缓存技术,我估计不出一年,服务器空间商会怨咋asp.net的程序的,搞不好会开骂,本来微软的环境配置就成本高,你再玩这种