昨天问过的一个问题 http://community.csdn.net/Expert/topic/3698/3698392.xml?temp=.383999
就是刚做好的Asp.net+SQL网站,上传至虚拟主机后,经常出现"Service Unavailable"的提示,出现这个提示的原因应该是连接数超过了IIS限制,因为网站是测试阶段,连接数肯定远远不够这个数!后来那边客服说是网站执行过程中太占资源而导致的!现在的问题是我该怎么在本地去检测网站的执行效率!原因出在哪些方面的可能性比较大?SQL查询?还是别的?找到问题该怎么改进?  急盼高手回复!

解决方案 »

  1.   

    你需要全方面的考虑对你的网站进行优化,包括页面缓存、数据缓存、数据库连接已经采用粗粒度webservice等方法
      

  2.   

    创建性能计数器,把你的数据库iis的使用情况跟踪一下,看看就知道怎么回事了!
      

  3.   

    Service Unavailable是iis服务重启造成的。你可以先在你的内先用vs.net自带的
    Microsoft Application Center Test
    进行测试。
      

  4.   

    Visual Studio.net自己有带一个Microsoft Application Center Test,用他看对你有没有帮助。
      

  5.   

    谢谢各位回复!因为我目前还属菜鸟阶段,所以在某些方面考虑还不全面,因为时间紧,任务急,进行全面的优化时间肯定来不急,大家给点建议,在短时间内可以重点从哪些方面入手检测优化?SQL语句方面是不是很重要的一个原因?我有好多的查询是嵌套的?这个影响是不是很大?liulxmooo(娃娃) 提到的,页面缓存,数据缓存Webservice方面目前还没有涉及到!
    zhanqiangz(闲云野鹤)提到的性能计数器该怎么做?
     net_lover(孟子E章)和skytear(将进酒) 提到的Microsoft Application Center Test我刚打开下在研究
    再次感谢大家给予的关注!
      

  6.   

    这样说吧,可能是你的connection打开了没有关闭,请每次打开数据库连接后就关闭它,这样可以省下资源,记住每次打开数据库就关闭阿
      

  7.   

    楼上说的可能性已基本排出,因为我采用的是三层结构,每次都是显式打开,并且显式关闭的!
    我用SQL事件探查器追踪了一下,大部分的SQL语句占用的CPU都是0,有小部分嵌套或复杂的SQL导致CPU占用达16,关于这一点影响是不是很大,如果改成存储过程是否有所改善?
      

  8.   

    是iis服务重启造成的,CSDN也有这个问题!
      

  9.   

    哦,IIS服务重启是他造成的,还是我的程序造成的呢?
      

  10.   

    连接数据库超时造成的。你连接数据库是不是用数据默认连接时间(30秒)。如果你连接的时间超过30秒就出现这个问题了,你把默认时间设置(timeout)长一点就可以了
      

  11.   

    你重新注冊:
    C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i
    看看了
      

  12.   

    to:smallMage(小马哥)设Timeout是不是在数据库连接字符串?可否写个例子?谢谢!
      

  13.   

    TIMEOUT是连接数据库(CONNECTION)时间。你先试一下C:\WINNT\Microsoft.NET\Framework\v1.0.3705\aspnet_regiis.exe -i
      

  14.   

    SqlConnection con;
    con.ConnectionTimeout =80;
      

  15.   

    好的,先谢过smallMage(小马哥),我试试,希望各位大侠能继续给予关注!
      

  16.   

    如果还不行。你把配置文件web.config贴出来。
      

  17.   

    to OmT(OmT) 
    我也遇到这个问题了,你解决了么?
    本地几十测试没有问题,到了服务器上十几个人就不行了。