我写了几个ASP.NET,放在一台服务器上,平时还是好好的,但有些时候会使得很慢,慢得把服务器拖死.
慢的时候,IIS CPU占用到80%到100%不等,而且内存占用量可达880M(服务器内存为1G).出现这个情况后,如果上服务器把IIS重启才恢复.
这个是什么问题?是程序的问题吗?还是服务器问题?要避免问题发生,要注意些什么?

解决方案 »

  1.   

    是程序的问题,出现问题的可能性有:
    1.程序没有及时释放资源,比如数据库连接没有及时关闭
    2.你的程序访问量大(这种访问包括别人的DDos攻击)
      

  2.   

    精良的少使用 DataSet这类的 对象
    用完数据库 应该马上关闭链接 Datareader也要即时关闭.
    数据 需要很多的时候
    应该考虑在 数据端就 分页好数据..
      

  3.   

    同意楼上的
    DataSet是比较占资源,如果一次取的数据太多建议分页查询
      

  4.   

    程序问题可能性最大
    写了几个Asp.Net?是放了好几个网站吗?
    若上放了好几个网站,可以把访问量大的分流出去
    程序方面要注意及时释放各种资源,如:程序连接池、DataReader及时关闭、少用占资源对象(Dataset)、数据量大时直接用存储过程分页取数据等等
    要注意的方面很多,,楼主多多学习咯!
      

  5.   

    呃,没释放的资源主要占一些存储性的资源,对cpu占用率的影响没那么大,估计是代码方面出现了一些让cpu大量运算的东西把
      

  6.   

    应该是病毒或者是攻击。你看看服务器的 任务管理器,看看里面的I/O读取的部分,是不是 w3wp 的进程占用很多的
    i/o ,我们网站最近也发生了这种情况。我相信我的程序不会烂到这种程度的。
      

  7.   

    web编程的优点就是线程可以由服务器控制,所以少释放对象并不会造成多大内存和cpu资源损失,同意楼上的,查查病毒先。或者写一个日志程序,查看一下在服务器运行慢的时候由哪些用户运行了哪些程序